query_postsを使用したカスタムクエリは、特定のmeta_keyなしでは投稿が表示されません

wordpress.stackexchange https://wordpress.stackexchange.com/questions/2257

  •  16-10-2019
  •  | 
  •  

質問

query_postsを使用して、特定のカテゴリを並べ替えます。私のコードは次のように見えます:

query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');

これは、私が指定しているように、正確なソートモデルの投稿を表示します。ただし、上記のクエリは投稿が表示されません meta_key データベースに設定された「field_ordering」。

私の問題は、すべての投稿で設定したくないということですが、それでもデータを表示できます。

解決策はありますか?

役に立ちましたか?

解決

まあ、あなたはそこにないフィールドでソートすることはできません。そのフィールドがあるカテゴリでのみクエリを条件付きで変更でき、デフォルトのクエリを安静時に機能させることができます。

それは次のようなものです:

if( is_category('abs') )
    query_posts(
    array_merge(
    array('orderby' => 'meta_value', 
                  'meta_key' => 'field_order', 
                  'order' => 'Desc' ),
    $wp_query->query
        )
    );
ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top