显示自定义域中日期范围内的帖子

时间:2016-03-18 作者:Futaba Panda

我目前有一个自定义帖子类型,其中有两个主要的自定义字段是查询所需的。

“score\\u time”字段存储分数的时间。示例:12:20“score\\u date”存储游戏发生的日期。示例:2016年1月22日

我需要查询以显示指定日期范围内的帖子,并按“score\\u time”字段值排序

现在我没有日期范围,但这是我现在的代码。

$args = array(
    \'post_type\'      => \'score_post_type\',
    \'posts_per_page\' => 5,
    \'meta_key\'       => \'score_time\',
    \'orderby\'        => \'meta_value\',
    \'order\'          => \'ASC\',
);

1 个回复
最合适的回答,由SO网友:iantsch 整理而成

魔法参数ist描述于WP_Query 根据:Custom Field Parameters

您需要添加meta_query 阵列到您的$args 定义范围的位置。

在您的情况下,代码可能如下所示:

$range = array(
    \'2015-05-01\',
    \'2015-05-31\',
);
$args = array(
    \'post_type\'      => \'score_post_type\',
    \'posts_per_page\' => 5,
    \'meta_key\'       => \'score_time\',
    \'orderby\'        => \'meta_value\',
    \'order\'          => \'ASC\',
    \'meta_query\' => array(
        array(
            \'key\'     => \'score_date\',
            \'value\'   => $range,
            \'compare\' => \'BETWEEN\',
            \'type\'    => \'date\',
        )
    ),
);
NOTE: 确保日期和时间值是有效的SQL日期/时间值。您提供的格式MM/DD/YYYY不适合排序和查询。更好:YYYY-MM-DD。

相关推荐

如何在wp-Query中比较不同的时间戳以获取事件自定义帖子类型?

我有一个带有自定义元数据库的自定义帖子类型(as seen on wptheming.com) 并且希望进行查询以显示即将发生的事件,例如在侧边栏中,过去的日期被忽略。但我需要一个当前时间的值来和事件开始时间进行比较。现在我从current_time(\'mysql\') 看起来是这样的:2012-02-16 13:15:31元的开始时间如下所示:201108121100如何使这两个日期具有可比性?我可以在查询中执行吗?或者是否有其他解决方案?以下是我到目前为止的查询(值留空,时间戳回显):<?ph