wordpress テーマのカスタム イベント投稿タイプに取り組んでいますが、並べ替えの問題が発生しています。テンプレートに値を吐き出すまで、すべてが必要に応じて機能します。イベントを日付順にリストする必要がありますが、それがうまくいかないようです。これが私のコードです:
// From my custom meta box. Shows the type of field that
// the user enters the date into. The prefix is _cmb_
array(
'name' => 'Event Date',
'id' => $prefix . 'event_date',
'type' => 'text_date'
),
---- // -----
// Grab the date that's input from the user in the
// Custom Meta Box and Convert the text_date to
// YYYYMMDD format
if ( $field['type'] == 'text_date' ) {
$new = date('omd', strtotime($new));
}
上記では、日付ピッカーから入力を取得し、テキストを再フォーマットしています。
// Tour Dates Loop
$args = array(
'post_type' => 'event',
'meta_key' => '_cmb_event_date',
'order_by' => 'meta_value_num',
'order' => 'DESC'
);
$tourDates = new WP_Query( $args );
ここでは、WP_Query を使用して適切な投稿タイプ、メタ キーを取得し、そのメタ キーを介して出力を並べ替えようとしています。唯一の問題は、イベントが正しくソートされていないことです。
を整数に変換しようとしまし_cmb_event_date
たが、正しく動作しませんでした。日付は整数ではなく文字列であるため、日付が正しくソートされていないのではないかと思いました。
私はここ Stack でたくさんの投稿を見てきましたが、自分に合った答えが見つからないようです。どんな助けでも大歓迎です!コードのコンテキストがさらに必要な場合は、お知らせください。