2017-06-27 58 views
0

我無法使用pre_get_posts向查詢添加自定義帖子類型。我創建了自己的主題並集成了這個插件(https://github.com/Develop-With-WP/wp-job-listing)。WordPress無法將自定義帖子類型添加到使用pre_get_posts查詢

我現在如何將這個新的post_type'job'添加到我的查詢中?我嘗試這樣做:

function add_my_post_types_to_query($query) { 
    if (is_home() && $query->is_main_query()) 
     $query->set('post_type', array('post', 'page', 'movie', 'job')); 
    return $query; 
} 
add_action('pre_get_posts', 'add_my_post_types_to_query'); 

我能夠檢查post_type但是當我在編輯後放[shortcode_debug]和呼叫/普通/第一博客/。

但是,當我打電話給/ job/sales /它仍然不會呈現任何東西。我錯過了什麼?

回答

1

試試這個,

function add_my_post_types_to_query($query) { 
    if ($query->is_home() && $query->is_main_query()) 
     $query->query_vars[ 'post_type' ] = [ 'post', 'page', 'movie', 'job' ];  
} 
add_action('pre_get_posts', 'add_my_post_types_to_query'); 
+0

遺憾的是仍然沒有工作。 –

+0

仍然沒有結果。我把它放在https://github.com/Develop-With-WP/wp-job-listing的wp-job-cpt.php中。這是正確的方法嗎? –

+0

我認爲它應該工作,如果放在該文件。但是試着把它放在你主題的functions.php中,只是爲了測試 – Junaid

1
add_action('pre_get_posts', 'get_posts_plus_cpt'); 
function get_posts_plus_cpt($query) { 
    if ($query->is_home() && $query->is_main_query()) {   
     $query->set('post_type', 'job'); 
    } 
} 
+0

謝謝,但不幸的是,沒有結果。如下所述......奇怪的是,我甚至無法將任何東西(比如$ post_type ='Test'; echo $ post_type;)回覆到/ job/sales /。另外,如果我在編輯器中放置了某些東西,它不在那裏。對於/一般/第一個博客/它在那裏... –

相關問題