2017-04-27 100 views
0

有沒有辦法對特定查詢執行'if'語句,我以某種方式命名?我想這樣做在function.php一個功能,我可以像Wordpress - 針對特定查詢的函數

if ($query->is_main_query()){} 

,但它是主要的查詢,我想爲條件使用查詢是不主要查詢這次。

回答

0

你總是可以做到pre_get_posts過濾器內部的邏輯,並在那裏適用,如果條件。例如。

add_filter('pre_get_posts', 'limit_archive_posts' ,5); 
function limit_archive_posts($query){ 
    if ($query->is_category) { 
     $query->set('posts_per_page', 3); 
    } 
    if($query->is_single == 1){ 
     $query->set('posts_per_page', 1); 
    } 
    return $query; 
} 
+0

所以我只能針對具體的查詢與它的參數? – makesz1

+0

是的,你也可以使用下面的條件進行分類檢查:if('magazine'== $ query-> query_vars ['category_name']) –

+0

謝謝,這個條件方案幫助了我! – makesz1

0

你可以這樣創建功能:

public function new_venue() 
    {   
    $new_boolean = false; 
    if ($query->is_main_query()){ 
     $new_boolean = true; 
    } 
     return 
    } 
+0

但是如果查詢不是主查詢呢? – makesz1

+0

你想說什麼? – Jenish

+0

如果在子頁面的某個地方有一個隨機查詢,而不是主要查詢,我可以將它定位到函數中嗎? – makesz1