0

wordpress の投稿に「episode_number」「season_number」という 2 つのカスタム フィールドがあります

season_number=5(example) の投稿をすべて選択し、episode_number DESC で並べ替えたい

私はこれを書いた

            $max_season=5;
            $args = array(
            'meta_key' => 'season_number',
            'meta_compare' =>'==',
            'meta_value' => $max_season,
            'orderby' => 'episode_number',
            'order' => 'DESC',
        );
$wp_query = new WP_Query($args);

season_number に基づく選択は機能しますが、注文できません。このコードでは、公開時間に基づいてワードプレスで注文します

誰でも私を助けることができますか?

4

2 に答える 2

0

私の最初の答えは的外れでした、私は質問を読み違えました

次のようなことを試してください:

$max_season=5;
$args = array(
    'meta_key' => 'episode_number',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'meta_query' => array(
        array(
        'key' => 'season_number',
        'value' => array($max_season),
        'compare' => 'IN',
        )
   )
);
$wp_query = new WP_Query($args);
于 2013-09-23T22:25:55.703 に答える
0

WordPress は、リクエストされた特定のメタデータkey=season_number(value=5シーズン番号) のみを照会すると思います。key の post メタデータをクエリしないepisode_numberため、SQL クエリでそのフィールドで直接並べ替える方法はありません。

クエリの結果をループして各アイテムのメタデータを取得し、key=episode_numberそれに応じて新しい並べ替えられた配列に入力するか、このメタデータも単一のクエリでクエリする方法を見つける必要があります。

2 つ目については、これがどのように機能するかわかりません。

于 2013-09-23T22:31:29.673 に答える