WordPress - 按日期范围获取帖子

2023-12-03

我正在尝试获取过去 7,30 和 365 天 WordPress 的帖子列表。

这是我使用的代码:

$args = array(
        'posts_per_page'=>10,
        'post_status'=>'publish',
        'post_type'=>'post'
    );
    if(isset($_GET['group'])){
        switch($_GET['group']){
            case 'week':
                $time = date('Y-m-d h:i:s',strtotime('-1 week'));
                break;
            case 'month':
                $time = date('Y-m-d h:i:s',strtotime('-1 month'));
                break;
            case 'year':
                $time = date('Y-m-d h:i:s', strtotime('-1 year'));
                break;
            default:
                $time = '';
                break;
        }
        if($time!=''){
            $args['pub_date'] = '>= "'.$time.'"';
        }
    }

    $query = new WP_Query( $args );

如果我 error_log args 数组,我可以看到正在设置的时间戳。但是当我 error_log WP_Query 对象时,我可以看到 SQL 查询:

SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value desc LIMIT 0, 10

此查询不包含我设置的 pub_date 日期范围。我怎样才能实现这个目标?


功劳归于 MichaelH这个话题在 wp.org 论坛上。您可以修改它以满足您的要求。

<?php
  function filter_where($where = '') {
    //posts in the last 30 days
    //$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
    //posts  30 to 60 days old
    //$where .= " AND post_date >= '" . date('Y-m-d', strtotime('-60 days')) . "'" . " AND post_date <= '" . date('Y-m-d', strtotime('-30 days')) . "'";
    //posts for March 1 to March 15, 2009
    $where .= " AND post_date >= '2009-03-01' AND post_date <= '2009-03-15'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress - 按日期范围获取帖子 的相关文章

  • laravel - 使用请求类或输入类

    在宁静的控制器中 我应该使用哪个类来获取传递的变量 member gt email Input get email or member gt email Request get email 两种选择都适合我 但有什么区别 Input get
  • php中的条件格式化html表与时间戳比较

    echo table style width 100 tr echo td Order td echo td Destination td echo td Location td echo td Status td echo td Time
  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • 在 PHP 中比较两个对象的最快方法是什么?

    假设我有一个对象 在本例中为 User 对象 并且我希望能够使用单独的类来跟踪更改 用户对象不必以任何方式改变它的行为才能发生这种情况 因此 我的单独的类创建它的 干净 副本 将其存储在本地某个位置 然后可以将 User 对象与原始版本进行
  • 如何将今天的日期返回到 Oracle 中的变量

    我想做这个 DECLARE today as smalldatetime SELECT today GetDate 但我需要一个oracle翻译 甲骨文使用SYSDATE 还有 ANSI 标准CURRENT TIMESTAMP 除其他外 S
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • 如何防止在 PHP 中使用超出“使用”范围的特征方法

    我想知道是否有任何方法可以防止在 PHP 的任何类上下文之外使用特征方法 让我用一个简短的例子来解释我想要什么 这是我当前的代码 File MyFunctions php trait MyFunctions function hello w
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 在 plpgsql 函数中使用 quote_ident()

    我是创建 plpgsql 函数的新手 我需要一些有关在函数内部执行的动态命令上使用 quote ident 甚至 quote literal 的说明 希望有人能给我一个关于它们如何在函数内部工作的具体解释 TIA 这是一个例子 EXECUT
  • 如何在多次尝试后延迟登录尝试 (PHP)

    我正在开发一个用 PHP 构建的相当大的网站 该网站可能会有很多用户 我正在寻找一种方法来保护登录屏幕免受自动尝试的影响 我已经在注册表中添加了验证码检查 但还想进一步强化网站 据我所知 StackOverflow 上也有类似的问题 而且我
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • 默认情况下在sql日期时间列中插入null/空值

    如何在 SQL Server 中创建一个表 默认日期时间为空 而不是1900 01 01 00 00 00 000我得到了 我的意思是 如果没有插入值 则默认值应该为 null 空等 如果没有插入值 默认值应该是null empty 在表定
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • mysqli 准备好的语句不会转义哪些字符?

    我正在尝试强化我的一些 PHP 代码并使用 mysqli 准备好的语句来更好地验证用户输入并防止注入攻击 我放弃了 mysqli real escape string因为它不会转义 和 然而 当我将查询创建为 mysqli 准备好的语句时
  • 我不确定什么是不正确的

    我正在创建一个小型 Java Jpanel 游戏 其中我应该有一个通过箭头上下移动并通过空间发射的火箭 发射方法应该像这样工作 按下空格键 物体发射并在屏幕上移动 然后当它击中某个 x 时 它就会消失 此外 你只能开火一次 直到另一颗子弹消
  • 为什么同一范围内可以进行多个可变借用?

    我编写了这段代码 多次借用可变变量并且编译时没有任何错误 但是根据Rust 编程语言这不应该编译 fn main let mut s String from hello println s test three mut s println
  • 读取生成线程内的不可变值

    我正在努力让这个例子发挥作用 use std sync mpsc Sender Receiver use std sync mpsc use std thread use std sync Arc struct User reference
  • 多个 GZip 文件的快速串联

    我有 gzip 文件列表 file1 gz file2 gz file3 gz 有没有一种方法可以将这些文件连接或 gzip 到一个 gzip 文件中无需解压 them 在实践中 我们将在网络数据库 CGI 中使用它 网络将在哪里接收 来自
  • 从 VB.Net 中的数据表填充组合框的最快方法

    以下代码中的数据表填充了 7500 条记录 这一切都可以从服务器快速加载 问题在于循环数据行以将它们添加到组合框需要一段时间 是否有任何其他方法来设置组合框的数据源或加快此过程的方法 Dim dtColours As New DataTab
  • 如何使用 XSLT1 按标签折叠一组选定的(相邻)标签?

    我有一组必须包含在新元素中的顺序节点 例子
  • 如何在 Firefox 中启用 ActiveX 控件?

    我有一个使用 ActiveX 控件的应用程序 我想使用 Selenium IDE 自动执行此操作 但是当我启动应用程序时 我最终收到一条错误消息 打开 ActiveX 控件 有什么办法可以在 FireFox 中启用 ActiveX 吗 注意
  • 在图中寻找桥梁 C++ (BOOST)?

    我正在阅读 BOOST 库 注意到他们没有一种算法可以在图中找到桥梁 但他们确实有一个可以找到连接点的算法 无论如何 这可以有效地完成吗 我有个主意 1 使用 BOOST 寻找关节点 2 使用out edges 找到连接每个关节点的所有边
  • Stripe 禁用按比例分配

    我的 Stripe 订阅中有两个计划 第一个计划是每月 10 欧元的计划 直到特定日期为止 例如它于 2021 年 10 月 2 日开始 我希望它于 2021 年 7 月 15 日结束 我希望订阅者每月始终支付 10 欧元 即使是最后一个月
  • 如何在默认打印机上打印测试页?

    如何在默认打印机上打印测试页 使用 C Winform 代码 提前致谢 要生成内置 Windows 测试页 您还可以对 PrintUI dll 使用 p invoke 这是一个简单的类 可以让您执行此操作 public static cla
  • 使用命令行克隆 git 存储库成功,但使用 git GUI 客户端(例如 SourceTree)克隆失败

    我已经设置了一个gitMac OS X 10 7 系统上的用户 在 git 用户 root 中 我创建了一个repositories文件夹并初始化了一个名为的裸 git 存储库test 到目前为止 一切都很好 现在 我从与 Mac 位于同一
  • 如何停止在 Spring 中覆盖 bean

    我注意到 如果您在两个 xml 文件中定义具有相同 id 的 bean 它将在第二个文件中被覆盖 Say in file a xml i have
  • 何时在 Activity 中调用 findViewById

    我遇到以下问题 我有以下几行代码 Spinner domainSpinner Spinner findViewById R id domain domainSpinner setVisibility View VISIBLE 这些在用户单击
  • 如何将图标添加到WPF应用程序桌面快捷方式?

    请注意 我问的是桌面图标 而不是窗口图标 该图标显示在应用程序窗口上 这可以 但是当我运行安装程序来安装应用程序时 桌面快捷方式只有一个默认图标 如何将桌面图标与同一应用程序图标关联 当应用程序运行时 任务栏上的图标是正确的图标 我还将 i
  • PowerShell DSC 复合资源

    我已成功创建 DSC 配置并将其部署到服务器上 下一步 我尝试将服务器中常见的配置块部分分解为可重用的部分 或者用 DSC 的说法是 复合资源 经过大量研究后 我仍然无法使用复合资源 运行 Get DSCResource 时它们没有列出 查
  • Django-south 未检测到数据库更改

    我已经从 svn 更新了我们的项目 并且有了新的迁移文件 当我使用时 work manage py schemamigration mypackage auto 我有这样的消息 Nothing seems to have changed 但
  • 返回字段长度/大小的投影选项

    我只是想写一个像 SQL 一样的 mongo 查询 SELECT LENGTH binaryBody AS bodyLength FROM documents 为此 我想我必须使用 find 方法的投影 db documents find
  • 使用 XSL-FO 和 HTML?

    我正在尝试使用 XSLT 将一些 XML 数据转换为 HTML 以完成我的学士论文 我的教授希望我也考虑 XSL FO 或者至少写一些关于它的文字 但我对此很菜鸟 所以我的问题是 我可以将 FO 与 HTML 结合起来吗 我可以使用 FOR
  • WordPress - 按日期范围获取帖子

    我正在尝试获取过去 7 30 和 365 天 WordPress 的帖子列表 这是我使用的代码 args array posts per page gt 10 post status gt publish post type gt post