2

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 でたくさんの投稿を見てきましたが、自分に合った答えが見つからないようです。どんな助けでも大歓迎です!コードのコンテキストがさらに必要な場合は、お知らせください。

4

1 に答える 1

1

問題が解決しました。'order_by' => 'meta_value_num',だったはず'orderby' => 'meta_value_num',です。

于 2012-07-25T21:32:58.450 に答える