2010-03-25 52 views
0

我有我的主題設置,允許網站所有者設置的職位($ maxPosts)的最大數量,以顯示在顯示最近的帖子與「查看全部」鏈接一個「最近的帖子」菜單。我正在使用自定義腳本來生成最近發佈的帖子(因爲「最近的帖子」小部件不會突出顯示當前頁面,而我需要的是我的css)。的WordPress>優化查詢時postcount超過maxpost設置

我的菜單也被設置爲顯示「查看全部」鏈接下方的上市後,但只有當實際員額數是> $ maxposts

我試圖找出最好的方法獲得發帖數並將其與$ maxposts進行比較以確定是否顯示「查看全部」鏈接。

我敢肯定,可能有一個更好的辦法,但這裏是我的代碼。我期待去優化它支持非常大的職位數...

$cat=get_cat_ID('excludeFromRecentPosts'); 
$catHidden=get_cat_ID('hidden'); 
$myquery = new WP_Query(); 
$myquery->query(array(
    'cat' => "-$cat,-$catHidden", 
    'post_not_in' => get_option('sticky_posts') 
)); 
$myrecentpostscount = $myquery->found_posts; 
if ($myrecentpostscount > 0) 
{ 
//show the menu 

if ($myrecentpostscount > $maxPosts) 
{ 
//show "View All" link 
} 
} 

我真的只需要確定從查詢的總員額數比順序maxPost設置更大,以確定是否顯示「查看全部」鏈接,所以我試圖優化腳本以解釋可能有數千條符合條件的帖子的情況。

而且在這種情況下,爲了避免出現性能問題,我不需要得到所有他們的計數。我只需要計數直到maxPosts + 1的點,而這也正是我掙扎了一下,因爲用戶可以選擇使maxPosts = -1,這意味着他們要顯示所有帖子。但是,這將是不切實際的,所以我可能會設置20的上限,當maxPosts = -1

回答

0

我會建議尋找到的是被作爲此查詢的結果產生實際的SQL語句;那麼,你可以看看是否有東西需要優化。 「漏抽象法」仍然適用..