wordpress自定义查询和orderby

时间:2013-11-29 09:05:49

标签: wordpress

我正在尝试使用自定义元字段(日期)查询帖子,并按自定义元字段(start_date)对它们进行排序。

我需要查找在今天或之后开始或在今天日期之后结束的帖子。

这一切似乎都与开始日期和OR语句的顺序不同,任何帮助都有所帮助。

<?php 

$today = date('y-m-d');



$args = array(
    'numberposts' => -1,
    'meta_key' => 'start_date',
     'orderby' => 'meta_value',
       'order' => 'ASC',
    'meta_query' => array(
        'relation' => 'OR',
        array(
            'key' => 'start_date',
            'value' => $today,
            'compare' => '>='
        ),
        array(
            'key' => 'end_date',
            'value' => $today,
            'compare' => '>'
        )
    )
);

query_posts( $args );

?> 

1 个答案:

答案 0 :(得分:1)

我假设你是wordpress的MySQL数据库,日期格式应该是YYYYMMDD

更新日期格式:使用$today = date('Y-m-d');代替$today = date('y-m-d');

type=>date中的meta_query如下所示:

$args = array(
'numberposts'   => -1,
'meta_key'      => 'start_date',
'orderby'       => 'meta_value',
'order'         => 'ASC',
'meta_query'    => array(
    'relation'  => 'OR',
    array(
        'key'       => 'start_date',
        'value'     => $today,
        'type'      => 'date',
        'compare'   => '>='
    ),
    array(
        'key'       => 'end_date',
        'value'     => $today,
        'type'      => 'date',
        'compare'   => '>'
    )
)
);

希望会有所帮助!