0

好的,我正在向我的元框添加一个选择菜单,并且我想列出相同帖子类型的其他页面,除了我们所在的页面。这是代码:

<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!有任何想法吗?

4

1 回答 1

0

发现了问题。在此之前我有另一个 wp_query,而 wp_reset_postdata 没有工作!所以它从我运行的最后一个查询中继承了帖子 ID。

注意: wp_reset_postdata 不起作用!相反,您需要这样做: $old_post = $post; //... //做 wp_query 工作 //... $post = $old_post; 我想知道WordPress的家伙是否知道这一点......

于 2013-08-18T03:27:10.927 回答