好的,我正在为我的元框添加一个选择菜单,我想列出相同帖子类型的其他页面,除了我们所在的页面。这是代码:
<select id="page_redirect_select">
<option value="">Select a Page</option>
<?php
$this_id = $post->ID;
$args = array('post_type' => 'custom-post', 'nopaging' => true);
$query = new WP_Query( $args );
if($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$query_id = $query->post->ID;
if($this_id !== $query_id){
echo "<option value='";
echo the_permalink();
echo "'>".get_the_title();
echo "</option>\n";
}
}
}
wp_reset_postdata();
?>
<option value="other">Other URL</option>
</select>
现在,当我回显$ this_id时,我得到94. $ query_id等于6.但是,在($ this_id!== $ query_id)的比较中,它返回true!有什么想法吗?
答案 0 :(得分:0)
发现问题。在此之前我有另一个wp_query,并且wp_reset_postdata无效! 所以它从我上次运行的查询中继承了帖子ID。
注意:wp_reset_postdata不起作用!相反,你需要这样做: $ old_post = $ post; // ... //做wp_query工作 // ... $ post = $ old_post; 我想知道WordPress的人是否知道这个......