通过wordpress中的自定义字段排序

通过wordpress中的自定义字段排序

问题描述:

我在我的WordPress站点中有自定义字段(日期),其中包含一个像这样的值june 16,2013。 我怎样才能把这个字段当作日期和排序? 有没有办法按custon_field日期对帖子进行排序?通过wordpress中的自定义字段排序

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

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

它获取数据的排序顺序,而不是基于日期,本场被视为字符串不是约会,我该怎么处理这个如日期?

尝试

$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); 
+0

@Nisam如果此答案可帮助您解决问题,则您可以将答案投票为赞赏 –

你可以设置你想要在数组中排序的所有日期,并使用strtotime()转换它们,然后简单地使用sort()。有可能是一个更有效的方法。

+0

我怎样才能重新编写一个查询? – Nisam

+0

什么查询?您没有提供任何代码以及您已将此标记为php –

试试这个:

$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);