Custom post type show on both Home and Date Archive

Found below snippet to pull posts from a custom post type 'pictures' into the home page and date archive page.

Found below snippet to pull posts from a custom post type 'pictures' into the home page and date archive page..

Added to functions.php this works for home page:

function add_custom_post_type_to_query( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'pictures') );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

But this works for neither:

function add_custom_post_type_to_query( $query ) {
    if ( $query->is_home() && $query->is_date() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'pictures') );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

Would also like to add in !is_admin() to keep the admin screens clear, and not sure how to go about that.

thanks,

Found below snippet to pull posts from a custom post type 'pictures' into the home page and date archive page..

Added to functions.php this works for home page:

function add_custom_post_type_to_query( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'pictures') );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

But this works for neither:

function add_custom_post_type_to_query( $query ) {
    if ( $query->is_home() && $query->is_date() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'pictures') );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

Would also like to add in !is_admin() to keep the admin screens clear, and not sure how to go about that.

thanks,

Share Improve this question edited Mar 23, 2019 at 16:33 Qaisar Feroz 2,1471 gold badge9 silver badges20 bronze badges asked Mar 23, 2019 at 4:23 MatJonMatJon 174 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 2

In your code ( $query->is_home() && $query->is_date() && $query->is_main_query() ) always returns false because $query->is_home() and $query->is_date() cannot be true on same page.
Try this,

function add_custom_post_type_to_query( $query ) {
    if ( ! is_admin()  &&  $query->is_main_query() ) {
       if ( $query->is_date() ||  $query->is_home()  ) {

           $query->set( 'post_type', array('post', 'pictures') );

       }
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

I hope this helps!

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745663571a4638985.html

相关推荐

  • Custom post type show on both Home and Date Archive

    Found below snippet to pull posts from a custom post type 'pictures' into the home page and date archive page.

    5小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信