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 に答える