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