0

我应该使用什么钩子/过滤器来不在我的博客上显示一些帖子(例如,如果帖子是去年写的。)我想使用钩子/过滤器而不是模板中的代码,所以插件或 rss 提要不能访问它

4

1 回答 1

1

您可以使用pre_get_posts()操作,在创建查询变量对象之后,但在运行实际查询之前调用此挂钩。因此,您可以在不同的条件下使用它。

这是示例代码:

function wh_getThisYearPost($query)
{
    if (($query->is_home()) //<-- for home page
        || $query->is_feed() //for feed
        || $query->is_search() // for search
    )
    {
        //to get post from current year only.
        $query->set('year', date('Y'));
    }
}

add_action('pre_get_posts', 'wh_getThisYearPost');

代码进入活动子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。

请注意:上面的代码不适用于您在这些查询中WP_Query手动添加日期参数的自定义。

希望这可以帮助!

于 2017-03-20T09:53:56.760 回答