2015-04-17 82 views
-1

我有簡單的查詢。Wordpress WP_Query訂單不能更改爲ASC

$args = array(
    'post_type' => array($type), 
    'nopaging ' => true, 
    'posts_per_page' => $n, 
    'offset' => $offset, 
    'orderby' => $orderBy, 
    'order' => $order 
); 

$postQuery = new WP_query($args); 

$ order作爲ASC或DESC,但它總是ASC。我發現它在拒絕的地方,但不明白爲什麼。在2383行的wp-includes/query.php(WP 4.1.1)中有一個操作會打破我的查詢參數。 (或者按我的理解將他們部分是因爲全球性的,但部分原因是我的習慣,因爲我的崗位類型不改變)

var_dump($this->query_vars['order']); // here it DESC (as i want) 

    do_action_ref_array('pre_get_posts', array(&$this)); 

    var_dump($this->query_vars['order']); // And here it rejeced to ASC 

爲什麼會發生呢?

回答

0

明白了, 「Simple Custom Post Order」插件添加了它自己的過濾器,這打破了我傳遞的WP_query參數。剛剛試圖搜索「pre_get_posts」鉤子中的操作,發現插件廣告是自己的邏輯,已關閉它,並且一切正常。

所以,如果你有類似的問題,檢查你的插件。