私はWordpressでスライドショーを設定する次の関数を持っています。別の増分変数$i
に依存するいくつかの変数を設定します。テンプレートファイルにこれらの変数を呼び出す方法を見つけようとしているので、値が表示されます。私は<?php echo $tzDesc; ?>
のようなものを使用しています。インクリメンタル変数の値を表示する{変数}関数の外に
定義済みの変数は、次のようになります。$tzDesc = $custom["slide{$i}-desc"];
カスタムフィールドに保存されている値を参照しています。各スライドには、似たような名前のカスタムフィールドがインクリメンタルナンバー($i
の値)だけ異なっています。私はこの行にここに表示することができます$page = "<h2>{$tzTitle}</h2><img src='{$tzImage}' />";
と私のページに正しく表示されますが、私のテンプレートファイルのさまざまな部分で値を呼び出すよりも、関数のその1行にテンプレートファイル全体を定義する。ここで
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);
}
}
私は関数の外で変数を定義し、グローバルとしての機能でそれらを宣言しようとしたが、それは動作するようには思えません。
私は。tried adding $ポストオブジェクト(への変数の1 $post->tzDesc = $custom["slide{$i}-desc"];
を定義し、変数を表示する<?php $post->ns_tzDesc = $tzDesc; ?>
を使用しても、このほとんど作品を持っているが、に説明をスライド定義$i
変数を失うように見えます
これらの変数の値を表示したり、関数のインクリメンタルな性質を維持するにはどうすればよいですか?(例:slide1-descまたはslide2-desc ...)
2つの質問:1)ページ/スライド番号を動的に保持して、機能によって埋められるようにする方法はありますか?この機能は、スライドに自動的に改ページする機能です。私のテンプレートファイルは、各スライドのテンプレートではなく、一般的なテンプレートを設定します。 2)どこで '$ x = paginate_slide( 'YOUR POST');? – mattz