我有以下函數在Wordpress中設置幻燈片。它設置了幾個依賴於另一個增量變量$i
的變量。我試圖找到一種方法在我的模板文件中調用這些變量,以便顯示它們的值。我正在設想使用類似<?php echo $tzDesc; ?>
的東西。在函數之外顯示增量變量{變量}的值
定義的變量如下所示:$tzDesc = $custom["slide{$i}-desc"];
它指的是保存在自定義字段中的值。每張幻燈片都有一個類似名稱的自定義字段,只是增量值不同,值爲$i
。我可以將它們顯示在這裏$page = "<h2>{$tzTitle}</h2><img src='{$tzImage}' />";
這一行,它正確地顯示在我的頁面上,但是我希望更靈活地調用我的模板文件不同部分的值,而不必在函數的該行中定義整個模板文件。
下面是函數:
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);
}
}
我試圖定義變量的功能之外,在功能全球宣佈他們,但似乎並沒有工作。
我還通過定義$post->tzDesc = $custom["slide{$i}-desc"];
並使用<?php $post->ns_tzDesc = $tzDesc; ?>
以顯示可變tried adding變量到$交對象(之一,這幾乎作品,但它似乎鬆$i
變量,其限定滑動描述返回值(例如,slide1-desc或slide2-desc ...),並且僅返回每個幻燈片的最後一張幻燈片的值。
如何顯示這些變量的值並保持函數的增量性質?
2個問題:1)有什麼辦法讓頁面/幻燈片編號保持動態,以便它被函數填充?該功能是自動分頁幻燈片的功能。我的模板文件設置了一個通用模板,而不是每個幻燈片。 2)我應該在哪裏放$ x = paginate_slide('你的POST');`? – mattz 2010-12-08 17:38:09