自定义帖子类型同时显示在Home和Date存档上

时间:2019-03-23 作者:MatJon

在下面的代码段中可以找到将帖子从自定义帖子类型“图片”拉入主页和日期存档页的内容。。

添加到functions.php 这适用于主页:

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\' );
但这两者都不适用:

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\' );
还想添加!is_admin() 保持管理屏幕清晰,但不知道如何操作。

谢谢

1 个回复
最合适的回答,由SO网友:Qaisar Feroz 整理而成

在您的代码中( $query->is_home() && $query->is_date() && $query->is_main_query() ) 始终返回false 因为$query->is_home()$query->is_date() 不能是true 在同一页上<试试这个,

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\' );
我希望这有帮助!

相关推荐