我的wordpress网站中有自定义字段(日期),其中包含类似june 16,2013
的值。
我如何将此字段视为日期和排序?
有没有办法按custon_field日期对帖子进行排序?
我在我的php页面中尝试了这段代码,
$args = array(
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' =>'release_date'
);
query_posts($args);
它按排序顺序获取数据,但不是基于日期,该字段被视为字符串而非日期,我如何将其视为日期?
答案 0 :(得分:3)
尝试
$args = array(
'orderby' => "DATE_FORMAT(STR_TO_DATE(meta_value, '%M %d,%Y'), '%Y-%m-%d')",
'order' => 'ASC',
'meta_key' =>'release_date'
);
query_posts($args);
答案 1 :(得分:0)
您可以设置要在数组中排序的所有日期,并使用strtotime()进行转换,然后只需使用sort()。 可能是一种更有效的方式。
答案 2 :(得分:0)
试试这个:
$date = get_post_meta($post->ID, 'link_banner', true);
$date_convert = strtotime($date);
$args = array(
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' =>$date_convert
);
query_posts($args);