Я создал функцию в своем файле function.php для получения некоторых переменных.Чтобы быть ясным, в начале моего проекта я поместил эти переменные в свой шаблон, и они работали нормально, но я хочу написать лучший код, поэтому я хочу переписать свой код, поместить в файл function.php и затем вызватьфункция для печати значения в моем шаблоне.
Так что теперь мой подход другой, вот мой пример:
function programpagedata() {
global $post;
$url = $_SERVER['REQUEST_URI'];
$path = parse_url($url, PHP_URL_PATH);
$segments = explode('/', rtrim($path, '/'));
$campus = $segments[1];
$prog_parent = get_field('program_parent');
$prog_code = get_field('program_code');
$program_parent = $post->post_parent;
$prog_par_details = get_field('program_code', $program_parent );
if( $prog_parent == true ) {
$program = $prog_code;
} else {
$program = $prog_par_details;
}
return array($program, $campus);
}
И в моем шаблоне я вызываю функцию следующим образом:
<?php
programpagedata();
echo $program;
echo $campus;
?>
Так, например, в моем шаблоне я могу вызвать эти функции следующим образом:
<div class="form-group">
<label for="program">
<input type="hidden" class="form-control" id="program" aria-describedby="programHelp" placeholder="Program" value="<?php echo $program; ?>" name="program">
</label>
</div>
<div class="form-group">
<label for="campus">
<input type="hidden" class="form-control" id="campus" aria-describedby="campusHelp" placeholder="Campus" value="<?php echo $campus; ?>" name="campus">
</label>
</div>
Я пытаюсь понять, где моя ошибка, потому что, как я уже сказал, если япоместите этот фрагмент PHP в мой шаблон, код работает нормально с важным отличием:
PHP В ШАБЛОНЕ
<?php
global $post;
$url = $_SERVER['REQUEST_URI'];
$path = parse_url($url, PHP_URL_PATH);
$segments = explode('/', rtrim($path, '/'));
$campus = $segments[1];
// $program = end($segments);
$prog_parent = get_field('program_parent');
$prog_code = get_field('program_code');
$program_parent = $post->post_parent;
$prog_par_details = get_field('program_code', $program_parent );
if( $prog_parent == true ) {
$program = $prog_code;
} else {
$program = $prog_par_details;
}
?>
<form>
my template form
</form>
?>
Я ничего не возвращаю.Так что я думаю, что я борюсь с ключевым словом return в WP.Есть мысли?