我有一個客戶端在IIS(php5,fast cgi)上安裝了WordPress,並且我的菜單沒有顯示出問題。具有諷刺意味的是,如果他回到我以前的主題版本,菜單顯示正常。由於我改變了兩個版本之間的查詢,所以我想知道是否有人能夠在後者中發現問題。IIS上的WordPress,WP_Query問題()
以前版本的查詢似乎很好地工作:
global $post;
$cat=get_cat_ID('top-menu');
$catHidden=get_cat_ID('hidden');
$count=0;
$mypostsheader = get_posts(array('cat' => "$cat,-$catHidden",'showposts' => $cb2_current_count));
$mypostsheader2 = get_posts(array('cat' => "$cat,-$catHidden",'showposts' => -1));
$mypostsheadercount = count($mypostsheader2);
if($mypostsheader)
{
$current_page = get_post($current_page);
?>
然而,目前的版本採用了略有不同的代碼邏輯來建立菜單。這不相同的設置下工作(但它只是對Apache的罰款)
$cat=get_cat_ID('top-menu');
$catHidden=get_cat_ID('hidden');
$myqueryTopMenu = new WP_Query();
$myqueryTopMenu->query(array(
'cat' => "$cat,-$catHidden",
'post_not_in' => get_option('sticky_posts')
));
$mypostsheadercount = $myqueryTopMenu->found_posts;
if($mypostsheadercount > 0)
{
global $post;
$mypostsheader = get_posts(array('cat' => "$cat,-$catHidden",'showposts' => $cb2_current_count));
$current_page = get_post($current_page);
?>
什麼不行?你會得到什麼錯誤? – 2010-06-29 12:11:04
沒有錯誤,菜單在示例2中沒有寫入瀏覽器,但在示例1中。這隻出現在這個特定的安裝上,恰好在IIS中運行。我已經縮小到if($ mypostsheadercount> 0)代碼塊。如果我將測試更改爲> =它工作正常,所以我的問題顯然是在獲取變量計算。 – 2010-07-01 12:19:26