【发布时间】:2017-03-20 17:54:39
【问题描述】:
我应该使用什么钩子/过滤器来不在我的博客上显示某些帖子(例如,如果帖子是在去年写的。) 我想在模板中使用钩子/过滤器而不是代码,因此插件或 rss 提要无法访问它
【问题讨论】:
标签: php wordpress feed wordpress-hook
我应该使用什么钩子/过滤器来不在我的博客上显示某些帖子(例如,如果帖子是在去年写的。) 我想在模板中使用钩子/过滤器而不是代码,因此插件或 rss 提要无法访问它
【问题讨论】:
标签: php wordpress feed wordpress-hook
你可以使用
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。
希望这会有所帮助!
【讨论】:
date('Y'),但日期格式应该是 YYYY ex。 2017.
post_type 存档页面?
post_type 的帖子,并且这些帖子是在特定年份发布的,对吧?如果是这样,那么是的,这是可以实现的。