WordPress无法使用pre_get_posts添加自定义帖子类型进行查询

时间:2017-06-27 22:01:20

标签: php wordpress custom-post-type

我没有使用pre_get_posts向查询添加自定义帖子类型。我创建了自己的主题并集成了这个插件(https://github.com/Develop-With-WP/wp-job-listing)。

我现在如何将这个新的post_type“作业”添加到我的查询中?我试过这个:

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]并调用/ general / first-blog /时。

但是当我打电话/工作/销售时,它仍然没有呈现任何东西。我错过了什么?

3 个答案:

答案 0 :(得分: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' );

答案 1 :(得分:1)

{{1}}

答案 2 :(得分:0)

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' );
    }
    return $query;
}