我有一個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; ?>
,但我似乎無法得到它的工作。根據我對variables scope的瞭解,爲了在另一個地方調用這些變量,我需要在全局範圍內定義它們,並將它們稱爲全局函數,就像我在$pages, $multipage, $numpages;
中那樣。這應該允許我將這些變量插入到我需要的地方。問題是當我將它們從函數中取出並在全局範圍內定義它們時,整個函數停止工作。
我該如何構建這個網站,才能在網站的任何地方打電話<?php echo $tzDesc; ?>
,並讓它迴應定義的信息?
我不知道這是否重要,但這是在一個WordPress網站。
將它們添加到$ post對象聽起來像一個更好的解決方案。我會怎麼做?說實話,我不確定$ post是在哪裏定義的。如果有幫助,這是在Wordpress網站上。 – mattz 2010-12-07 15:53:59