2015-07-13 24 views
0

我想排除特定的post_type或網頁,但我不確定我是否正確思考。問題是,我的所有頁面都出現在我的while查詢中,該查詢應該專用於(幾乎)所有帖子。排除post_type或網頁

以下是我處理的:

$args = array(
    'post_type' => 'any', 
    'posts_per_page' => '-1', 
    'post_taxonomy' => 'any', 
    'cat' => -14, 
); 

我考慮寫'post_type' => 'any'posts,但我記得沒有與我的自定義信息工作。

有沒有人有工作解決方案?

感謝

回答

1

如果你談論的是過濾後用WP_Query你應該讀的東西在這裏https://codex.wordpress.org/Class_Reference/WP_Query

基本上你可以使用大量的過濾器,例如:

$args = array(
    'post_type' => 'post', 
    'cat' => -14, 
    'post__not_in' => array(2, 5) 
); 

$query = new WP_Query($args); 

這將找到只有帖子(不是頁面),不在ID爲14的類別中,而不是在ID爲2或5的帖子中。

現在如果你可以在你的問題更精確,我可以給你確切的數組,你需要獲得它。

+0

謝謝。由於某些原因''post_type'=>'發佈','不適用於自定義帖子。這就是爲什麼我選擇它來「任何」。但是,謝謝。用'post__not_in'=> array(8,6,21,10,12)'解決了這個問題。 – Olen

+0

只是一個小問題@Michelem。如果我想用post_type'referanser'排除所有的帖子,會怎麼樣? – Olen

+1

如果您已經註冊了您的自定義帖子類型,則可以在默認過濾器'post_type'中使用它,請參閱此http://codex.wordpress.org/Post_Types查看「主查詢中的自定義帖子類型」 –