query_post是許多主題都有用到的函數, 可以用來顯示最近更新的文章或者隨機文章等, 例如顯示8篇最新文章的代碼就有query_post的影子.
query_post是Wordpress經常用到的判斷函數, 在一開始發現問題時候排除所有可能的語法錯誤後檢查主題的所有代碼發現只有在query_post出現以後接下來的判斷函數就失效了(不執行整個if語句了).
WordPress官方文檔中指出執行query_post之後會影響在其之下的判斷函數, 需要在判斷函數前加上wp_reset_query重置查詢函數
如:
<?php
wp_reset_query();
if (is_page('2') ) {
echo 'this is page 2!';
}
?>
或者我們可以在判斷句之後加上wp_reset_query, 也可以只在query_post之後加上重置, 這樣這個query_post就不會影響到下面的任何判斷函數了.
如:<ul>