2

我正在使用 Wordpress 和 WP-Types 插件,需要按自定义字段日期对 CPT 进行排序。

这工作正常:

$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'orderby' => 'meta_value',
    'order' => 'DESC',
);

orderby 工作完美。在数据库中,字段 date 'wpcf-parties_date' 的值以这种方式存储,例如: 1349481600 。

我有两个模板,我需要在其中显示过去和即将发布的帖子。我的问题是如何仅显示有关当前日期的未来或过去的帖子?

我尝试这个没有运气。

$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'meta_value' => date('d.m.Y H:i:s'),
    'meta_compare' => '>',
    'orderby' => 'meta_value',
    'order' => 'ASC'
);

我使用 WP_Query 进行循环。

提前致谢!!

4

1 回答 1

1

您可以尝试meta_query同时检查两者< and >并使用meta_value_num,因为您的自定义字段值是数字 (1349481600)。

$current_date=strtotime(date('d.m.Y H:i:s'));
$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key' => 'wpcf-parties_date',
            'value' => $current_date,
            'compare' => '>'
        ),
        array(
            'key' => 'wpcf-parties_date',
            'value' => $current_date,
            'compare' => '<'
        )
    )
);

阅读文档以获取更多信息

于 2012-11-28T17:47:47.000 回答