1

wordpress サイトでいくつかの製品を表示するループを作成しましたが、正常に動作しているように見えますが、ループの後にカスタム フィールドの 1 つを配置すると表示されません。ループの上に配置すると正常に機能するため、カスタムフィールド自体の問題ではないことはわかっています。私がどこで間違っている可能性があるか知っている人はいますか?

これが私のコードです:

http://pastebin.com/SVxYK0XP

ありがとう

4

1 に答える 1

1

setup_postdata()ループ内で呼び出しているため、$postオブジェクトを上書きしています。foreach ループの後に呼び出している場合the_field('monoblock_valves_text');、ループの最後の投稿からそのカスタム フィールドを取得しようとしていますが、実際の投稿/ページ表示から取得する必要があることは明らかです。

次のように、ループの前に古い $post オブジェクトを保存し、ループの後に復元する必要があります。

$old_post = $post;
foreach($products_mono_posts as $post):
  setup_postdata($post);
  // Rest of code
endforeach;
$post = $old_post;
setup_postdata($post);

the_field('blahblahblah');
于 2013-11-28T17:51:29.000 に答える