WPAlchemyを使用して設定したメタボックスを作成しました。これにより、作成者は関連する投稿へのリンクを追加できます。数ヶ月間は正常に機能していましたが、今では何らかの理由で適切な投稿のドロップダウンリストが更新されません。これがカスタム投稿メタphpファイルのコードです。
<p>
<?php $mb->the_field(‘product_video_ID’); ?>
<select name=”<?php $mb->the_name(); ?>”>
<option value=”">None</option>
<?php
global $thispost;
$myposts = get_posts(‘numberposts=5000&offset=1′);
foreach($myposts as $thispost) :
if (in_category(“Product Videos”, $thispost)) {
?>
<option value=”<?php echo $thispost->ID; ?>” <?php $mb->the_select_state($thispost->ID);?> ><?php echo get_the_title($thispost->ID); ?></option>
<?php } ?>
<?php endforeach; ?>
<?php setup_postdata($thispost);?>
</select>
</p>
商品動画カテゴリにテスト用の投稿をいくつか追加しようとしましたが、表示されませんでした。私はそのカテゴリをフィルタリングした行にコメントし、Metaボックスのドロップダウンを更新してすべての投稿を表示しました…欲しいものと新しいテストのものを除いて。誰が何が起こっているのか、何か考えがありますか?ここで私が修正すべき更新されていない部分がありますか。本当にありがとう!
get_posts()
もそれを利用するので、投稿を得るために WP_Query を試してください:
$args = array(
'category_name' => 'product-videos',
'posts_per_page' => 5000, // or -1 if you want all
'offset' => 1
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ):
$the_query->the_post();
?>
<option value=”<?php the_ID(); ?>” <?php $mb->the_select_state(get_the_ID());?> ><?php echo get_the_title(get_the_ID()); ?></option>
<?php
endwhile;
endif;