2013-08-17 37 views
0

好的,我在我的元框中添加了一個選擇菜單,並且我想列出除了我們所在頁面之外的其他相同帖子類型的頁面。下面的代碼:比較WordPress中的兩個post_id始終返回true

<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。然而,在比較其返回true(this_id $ == $ query_id!)!有任何想法嗎?

+1

那麼,你說「如果$ this_id'不等於'$ query_id'」,那麼這個條件確實在這裏實現了,不是嗎? –

+1

我同意@Pekka簡單來說94不等於6聲明是真的 –

回答

0

發現問題。在此之前,我有另一個wp_query,並且wp_reset_postdata不起作用! 因此它從我跑過的最後一個查詢中提取了帖子ID。

注意:wp_reset_postdata不起作用!相反,你需要這樣做: $ old_post = $ post; // ... // do wp_query work // ... $ post = $ old_post; 我不知道WordPress的傢伙是否知道這個......