我正在使用以下代码在首页(上)上按帖子ID隐藏某些帖子https://michaelkummer.com/technology/howto-hide-posts-pages-in-wordpress/ 在WordPress开发者资源页面https://developer.wordpress.org/reference/hooks/pre_get_posts/)
function exclude_single_posts_home($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set(\'post__not_in\', array(7, 11));
}
}
我想做的是更改它,以便在主页上隐藏基于发布日期的任何新帖子(例如今天发布的帖子)。
Wordpress开发人员资源页面上还有另一个代码,使其只能在特定日期后显示搜索结果,但不幸的是,我没有运气使用我非常有限的编码技能来调整它:(
function date_search_filter($query) {
if ( ! is_admin() && $query->is_main_query() ) {
if ( $query->is_search ) {
$query->set( \'date_query\', array(
array(
\'after\' => \'May 17, 2019\',
)
) );
}
}
}
add_action( \'pre_get_posts\', \'date_search_filter\' );
非常感谢您的帮助!
最合适的回答,由SO网友:cybmeta 整理而成
您可以尝试执行类似于您尝试过的代码的操作,但使用before
参数而不是after
:
$query->set( \'date_query\', array(
array(
\'before\' => \'-1 day\',
)
) );
这样,你应该只得到1天前发布的帖子。