在首页隐藏新帖子

时间:2020-04-09 作者:distinctly

我正在使用以下代码在首页(上)上按帖子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\' ); 
非常感谢您的帮助!

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

您可以尝试执行类似于您尝试过的代码的操作,但使用before 参数而不是after:

$query->set( \'date_query\', array(
    array(
        \'before\' => \'-1 day\', 
    )
 ) );
这样,你应该只得到1天前发布的帖子。

相关推荐

发布为FrontPage-避免重复内容

在我的一个WP网站上,我在主页上显示了一篇帖子。在index.php 例如:如果是主页,则显示ID为X的帖子但现在我在主页上有了帖子的内容,还有一个单独的帖子页面,上面有帖子的slug(domain.com/post-name).我的问题是:如何用帖子的slug删除帖子页面,以便Wordpress抛出抱歉,此处找不到任何内容。任何正确方向的帮助或指点都会让我非常高兴。