Php Wordpress按日期查询和订购

Php Wordpress按日期查询和订购,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我正在尝试创建一个包含10种产品的列表,这些产品的发布日期从最近到未来。发布日期以长文本形式存储在一个名为“publication_daet”的高级自定义字段中,格式为Ymd。我正在使用的代码如下所示,但结果与预期不符(结果在代码块下方)。有什么想法吗 <section id="recent"> <ul class="row-fluid"> <?php $today = date('m/d/Y'); $args = array(

我正在尝试创建一个包含10种产品的列表,这些产品的发布日期从最近到未来。发布日期以长文本形式存储在一个名为“publication_daet”的高级自定义字段中,格式为Ymd。我正在使用的代码如下所示,但结果与预期不符(结果在代码块下方)。有什么想法吗

<section id="recent">
<ul class="row-fluid">
    <?php

    $today = date('m/d/Y');

        $args = array(
     'post_type'        => 'product',
     'showposts' => 10,
     'meta_key'     => 'publication_date',
     'meta_value'   => $today,
     'meta_compare' => '>',
     'order' => 'ASC',
        );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>

                <li class="span3">    

                    <a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">

                      <b><?php $date = DateTime::createFromFormat('Ymd', get_field('publication_date'));?><?php echo $date->format('m/d/Y'); ?></b>: <?php the_title(); ?>

                    </a>
                </li><!-- /span3 -->
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>

</ul><!-- /row-fluid -->
</section><!-- /recent -->

结果:

2013年11月20日:首都

2015年3月9日:孤儿黑卡游戏

2014年10月7日:无政府之子混乱之人

2013年7月25日:独角兽狂热

2015年6月25日:中世纪学院

2014年3月7日:克洛斯马斯特竞技场对决

2015年1月29日:修订

2010年6月15日:3:16星空中的大屠杀

2015年4月29日:战列科技侦察长枪组


2014年12月17日:杜克中世纪

您自定义字段中的日期格式是正确的。您的日期格式需要是unix时间戳或采用
Y-m-d
格式

但是,今天日期的格式不正确。与
date\u查询
字段不同,自定义字段按字面意思进行比较,不会对任何值进行转换,因此要比较的值的格式必须匹配。简而言之,如果您的日期作为unix时间戳存储在自定义字段中,则要比较的日期必须是unix时间戳,否则比较将失败。与日期格式相同,如果日期保存为
Ymd
,则要比较的格式必须为
Ymd
。如果格式为
Y-m-d
,则要比较的格式必须为
Y-m-d
。如果这些格式不匹配,您的比较就注定失败


要解决此问题,请更改
$today
的值,使其与自定义字段的格式相同

自定义字段中的日期格式正确。您的日期格式需要是unix时间戳或采用
Y-m-d
格式

但是,今天日期的格式不正确。与
date\u查询
字段不同,自定义字段按字面意思进行比较,不会对任何值进行转换,因此要比较的值的格式必须匹配。简而言之,如果您的日期作为unix时间戳存储在自定义字段中,则要比较的日期必须是unix时间戳,否则比较将失败。与日期格式相同,如果日期保存为
Ymd
,则要比较的格式必须为
Ymd
。如果格式为
Y-m-d
,则要比较的格式必须为
Y-m-d
。如果这些格式不匹配,您的比较就注定失败

要解决此问题,请更改
$today
的值,使其与自定义字段的格式相同