我应该使用什么钩子/过滤器来不在我的博客上显示一些帖子(例如,如果去年写的帖子。) 我想使用hook / filter而不是模板中的代码,所以插件或rss feed无法访问它
答案 0 :(得分: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文件中。
请注意:上述代码不适用于您在这些查询中手动添加Date Parameters的自定义WP_Query
。
希望这有帮助!