【问题标题】:Query month in date custom field on wordpress在 wordpress 上的日期自定义字段中查询月份
【发布时间】:2015-03-31 03:38:44
【问题描述】:

我需要一个查询来获取日期自定义字段在一个月之前由 URL var 发送的所有帖子。自定义字段保存 YYYYMMDD (20150330) 等数据。我想在今年/月(201503)之前获得所有帖子。

我尝试了这个,但它不起作用,因为 date_added 内容不是 YYYYMM。它也包含一天。

$year = $_GET['year'];
$month = $_GET['mes'];

$yearmonth = $month." ".$year;

$args = array (
        'post_type' => 'clients',
        'posts_per_page'    => -1,
        'order' => 'ASC',
        'orderby' => 'post_title',
        'meta_query' => array(
            array(
                'key'       => 'client_type',
                'compare'   => '=',
                'value'     => 'Si',
            ),
            array(
                'key'       => 'date_added',
                'compare'   =>  '<=',
                'value'     => date("Ym", strtotime($yearmonth)),
            )
        ));

   $posts = get_posts($args); 

有人可以帮我吗?

谢谢

【问题讨论】:

  • 如果日期以整数形式存储在数据库中,则查看日期小于 date("Ym00", strtotime($yearmonth))(天为 0)的日期是否为 3 月 1 日之前的所有内容,或者如果您想要 3 月的月份,请使用 @ 987654323@ 表示三月的某个日期大于最后一天但仍小于下个月。日期20150301 作为整数转换为20,150,301(两千万、十五万、三百零一)。没有日期会低于201,503,因此您需要添加日期数字以使它们具有相同的比例。
  • @JonathanKuhn 这似乎应该成为潜在答案的一部分。
  • @shawn 是的,应该。我开始时较小,并不断添加。他们往往会像那样爆炸。
  • 完美!它有效,非常感谢@JonathanKuhn

标签: php wordpress


【解决方案1】:

如果日期以整数形式存储在数据库中,则查看日期小于date("Ym00", strtotime($yearmonth))(天为零)的日期是否为 3 月 1 日之前的所有内容,或者如果您希望 3 月使用 "Ym99" 表示大于最后一天但仍小于下个月的三月日期。日期20150301 作为整数转换为20,150,301(2000 万、150000、301)。没有日期会低于201,503,因此您需要添加日期数字以使它们具有相同的比例。

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 2019-11-14
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多