У меня есть функция в файле functions.php, которая определяет определенные переменные:
add_action( 'the_post', 'paginate_slide' );
function paginate_slide( $post ) {
global $pages, $multipage, $numpages;
if( is_single() && get_post_type() == 'post' ) {
$multipage = 1;
$id = get_the_ID();
$custom = array();
$pages = array();
$i = 1;
foreach( get_post_custom_keys() as $key )
if ( false !== strpos( $key, 'slide' ) )
$custom[$key] = get_post_meta( $id, $key, true);
while( isset( $custom["slide{$i}-title"] ) ) {
$page = '';
$tzTitle = $custom["slide{$i}-title"];
$tzImage = $custom["slide{$i}-image"];
$tzDesc = $custom["slide{$i}-desc"];
$tzEmbed = $custom["slide{$i}-embed"];
$page = "<h2>{$tzTitle}</h2><img src='{$tzImage}' />";
$pages[] = $page;
$i++;
}
$numpages = count( $pages );
}
}
Я хотел бы вывести некоторые из этих переменных в файл template.php примерно так: <?php echo $tzDesc; ?>
, но я не могу заставить его работать. Из того, что я понимаю о области видимости переменных , чтобы вызвать эти переменные в другом месте, мне нужно определить их в глобальной области видимости и назвать их глобальными в этой функции, как я это сделал $pages, $multipage, $numpages;
. Это должно позволить мне подключать эти переменные там, где они мне нужны. Проблема в том, что когда я вынимаю их из функции и определяю их выше в глобальной области видимости, вся функция перестает работать.
Как мне нужно структурировать это так, чтобы я мог позвонить <?php echo $tzDesc; ?>
в любое место на сайте и получить эхо определенной информации?
Я не знаю, имеет ли это значение, но это на сайте WordPress.