我正在嘗試使用WP_Query
對象來編寫一個新的查詢函數。
我創建了一個新的模板文件,並把以下內容:
$query_args = array(
'post_type' => 'page',
'post_parent=41',
);
// The Featured Posts query.
$results = new WP_Query($query_args);
但是我用什麼參數,查詢不會改變。它看起來好像查詢已經初始化,並且創建新的WP_Query
對現有查詢沒有任何影響。
在我的代碼之前調用的唯一的wordpress函數是get_header()
,它不包括任何調用WP_Query
或query_posts
。
我把下面的線,找出實際的SQL查詢是什麼:
echo $GLOBALS['wp_query']->request;
實際的SQL查詢:
SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND (wp_posts.ID = '14') AND wp_posts.post_type = 'page' ORDER BY wp_posts.post_date DESC
當我改變我的$query_args
這個查詢不會改變。
我在想什麼時候全局變量$wp_query
被初始化了,我該怎麼做才能使用我自己的查詢呢?
要完成這種反應。我還必須重寫一些值並將它們設置爲null來運行查詢:'$ qry-> set('p',null); $ qry-> set('page_id',null); ' – Rufein 2015-02-03 15:20:27