query_postsを使用したカスタムクエリは、特定のmeta_keyなしでは投稿が表示されません
-
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
)
);
所属していません wordpress.stackexchange