worpdress搜索指定时间内的文章

本文介绍了如何通过WordPress的pre_get_posts钩子实现搜索结果仅显示近十天内容。通过判断搜索页面并设置日期查询条件,将代码添加到主题的functions.php文件中即可生效。该方法适用于定制前台搜索结果的特殊需求。

WordPress基础教程
阅读时间: 9 分钟
最后更新时间:2025年11月13日

有朋友问,wordpress的搜索结果能否出现近十天的内容?虽然我不知道他这奇怪的需求是要干啥,但是是可以的。一般要改变前台的结构,我都用pre_get_posts钩子,然后判断是否是搜索页面,加上日期搜索的条件即可。

将代码复制到主题的functions.php文件中即可,当然如果有更奇怪的需求,可以对照上面的的注释修改。

代码如下:

function ashuwp_custom_posts_per_page($query){
  //非后台、搜索页面、主循环
  if(!is_admin() && is_search()&& $query->is_main_query()){
    $today = getdate(); //获取当前时间
    $ago_time = strtotime("-10 days"); //十天前的时间戳
    $days_ago = getdate($ago_time); //按时间戳返回十天前的日期
    $date_args = array(
      array(
        'after' => array(
          'year' => $days_ago['year'],
          'month' => $days_ago['mon'],
          'day' => $days_ago['mday'],
        ),
        'before' => array(
          'year' => $today['year'],
          'month' => $today['mon'],
          'day' => $today['mday'],
        ),
        'inclusive' => true, //启用after  before
      ),
    );
    $query->set('date_query', $date_args);
  }
  return $query;
}
add_action('pre_get_posts','ashuwp_custom_posts_per_page');

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽WordPress凭借15年的WordPress企业网站开发经验,坚持以“为企业而生的WordPress服务”为宗旨,累计为10万多家客户提供高品质WordPress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽WordPress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部