2013-08-29 49 views
3

我想添加一些過濾器來選擇需要的崗位,如:就存在WP_Query加入條件的WordPress

function exclude_post($query) { 
    if ($query->is_home) { 

     // Do some PHP code 

    }  
    return $query; 
} 

add_filter('pre_get_posts', 'exclude_post'); 

我如何添加新的條件,存在WP_Query例如$query

+0

$ query = new WP_Query($ args); $ args是條件數組,我猜 – codepixlabs

回答

0
$args = array(
    'post_type' => 'post', 
    'tax_query' => array(
     array(
      'taxonomy' => 'people', 
      'field' => 'slug', 
      'terms' => 'bob' 
     ) 
    ) 
); 
$query = new WP_Query($args); 

一個法典片段看到更多的在這裏wp query

+0

但是當我創建新的WP_Query實例時,我將失去初始'$ query'並創建新的。但我想給已有的條件添加一些條件。 –

2

如果你想和一個過濾器來修改您的查詢,您可以在函數中使用$query->set('post_type', 'post');,只需用參數addapt。

如果要修改主循環中,你可以使用這個:

global $wp_query; 
$args = array_merge($wp_query->query_vars, array('post_type' => 'product')); 
query_posts($args); 
0

你要創建的職位的自定義列表,但你不希望失去當前wp_query?很簡單,使用wp_reset_query()

$my_query = new WP_Query($argument_array); 
//... Do all you have to do with the query ... 
wp_reset_query(); // This will restore the original query.