0

我的 wordpress 网站中有自定义字段(日期),其中包含这样的值june 16,2013。我如何将此字段视为日期和排序?有没有办法按 custon_field 日期对帖子进行排序?

我尝试在我的 php 页面中使用此代码,

$args = array(
 'orderby' => 'meta_value', 
 'order' => 'ASC',
 'meta_key' =>'release_date'
);
query_posts($args); 

它按排序顺序获取数据,但不是基于日期,该字段被视为字符串而不是日期,我如何将其视为日期?

4

3 回答 3

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); 
于 2013-06-26T09:48:58.450 回答
0

您可以在数组中设置要排序的所有日期并使用 strtotime() 转换它们,然后只需使用 sort()。可能有更有效的方法。

于 2013-06-25T23:45:38.293 回答
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);
于 2013-06-26T06:18:26.640 回答