您只想从帖子类型中查询帖子direct_blog
, 但是NOT 正常的post
类型
而不是只需要删除post
从此行开始:
$query->set(\'post_type\', array(\'post\', \'direct_blog\'));
<小时>
Update:
我刚刚测试了以下代码。
首先,您需要重新访问您的函数,因为其中有一些错误
在问题的代码中,您缺少结束语}
!
您还可以使用posts_per_page
, 但你错过了“s
“,在您的函数中post_per_page
.
所以我相信你想要这样的东西:
function my_pre_get_posts( $query ) {
if (!is_admin() && $query->is_main_query()) {
if ($query->is_author()) {
$query->set( \'post_type\', array( \'my_type\' ));
$query->set( \'posts_per_page\', 5 );
}
}
}
add_action( \'pre_get_posts\', \'my_pre_get_posts\' );
正如我上面所说,这段代码在我的WP测试站点中工作,我没有看到正常的帖子,只有来自
my_type
在我的作者archiv模板中。所以试着改变
my_type
到您的帖子类型(请确保
direct_blog
是正确的子弹)