[WordPress] WP-クエリ |カスタム フィールドの値によってクエリの 2 回を注文します。

スポンサーリンク

Question

私はクエリをやってのけるためにトラインされてきたが、私はそれを管理することはできません。カテゴリ ‘のロケールのすべての記事を照会したいです。カスタム フィールドの値「プロヴィンシャ’ 基準並べ替えるし、カスタム フィールドの値 ‘localidad’ 基準に並べ替えます。場合分からないイムされてクリア、すべての状態によってもう一度それらを並べ替えてをたとえば、米国ですべての ‘ロケール’ を並べ替え必要があります。多く見られるアイブ トリックが 1 つの仕事の.

このだったが近づくだと思う:

$entradas = new WP_Query( array (
    'post_type'      => 'post',
    'category_name'      => 'locales',
    'meta_query' => array(
             array(
                     'key' => 'provincia'
                     ),
             array(
                     'key' => 'localidad'
             )
         ),
    'orderby' => 'meta_value meta_value',
    'order' => 'ASC',
    'nopaging' => true,
    'posts_per_page' => -1
));

が、もちろんそれは動作しません。誰も解決策を知っていますか?助けて!

ありがとう !

答え

を呼び出すカスタム クエリする必要があります:

$querystr = "
    SELECT * FROM $wpdb->posts p
    LEFT JOIN $wpdb->postmeta pm1 ON p.ID = pm1.post_id
    LEFT JOIN $wpdb->postmeta pm2 ON p.ID = pm2.post_id
    LEFT JOIN $wpdb->term_relationships tr ON (p.ID = tr.object_id)
    LEFT JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
    LEFT JOIN $wpdb->terms t ON (tt.term_id = t.term_id)
    WHERE t.name = 'locales'
    AND tt.taxonomy = 'category'
    AND p.post_status = 'publish'
    AND p.post_type = 'post'
    AND pm1.meta_key = 'provincia'
    AND pm2.meta_key = 'localidad'
    ORDER BY  pm1.meta_key,pm2.meta_key" ASC";

http://stackoverflow.com/questions/27195761/wp-query-order-a-query-two-times-by-different-custom-field-values

スポンサーリンク

Leave a Reply