0

ループ外の投稿数を表示するためのカスタムクエリが必要です。

結果は次のようにフィルタリングする必要があります。

Taxanomy = ad_cat
Term_id = 32
Meta_key = cp_type
Meta_value = sale
Post-type = ad_listings

私はこのSQLを持っています:

$query = "
SELECT *
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->terms.term_id = '32'
AND $wpdb->postmeta.meta_key = 'cp_tips' 
AND $wpdb->postmeta.meta_value = 'Pārdod' 
AND $wpdb->posts.post_status = 'publish' 
AND $wpdb->posts.post_type = 'ad_listing'
";

しかし、このクエリでは、用語を追加する方法はありません。

用語SQL:

SELECT ID as PID FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships ON
($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON
($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->posts.post_status = 'publish'
AND $wpdb->term_taxonomy.taxonomy = 'ad_cat'
AND $wpdb->term_taxonomy.term_id = 32

すべてをまとめる方法は?

4

2 に答える 2

0

wp_queryをお勧めし
ます。特に分類法の部分はテストされていませんが、機能するか、少なくとも開始する必要があります。
wp_queryの大きな利点は、ループを使用できることです。

<?php
$query = array (
   'post_type' => 'ad_listing',
   'post_status' => 'publish' ,

   //que custom field
    'meta_query' => array(
        array(
            'key' => 'cp_tips',
            'value' => 'Pardod'
        )
    ),

    //term 32
    'tax_query' => array(
        array(
            'taxonomy' => 'ad_cat',
            'field' => '32',
                    'terms' => array( 'action', 'commedy' )
        )
    )
);

$ad_list = new WP_Query($query);

どうなるか教えてください

于 2012-04-10T20:16:23.280 に答える