我需要自定义查询来显示循环外的帖子数。
结果需要按以下方式过滤:
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
如何把所有人放在一起?
答案 0 :(得分:0)
我建议wp_query
没有特别测试分类标准部分,但它应该工作,或者至少让你开始
wp_query的最大优点是你可以使用the loop
<?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);
让我知道它是怎么回事
答案 1 :(得分:0)
您可以使用WP_Query执行此操作。您需要使用tax_query和meta_query的一部分,然后您可以从属性found_posts中获取计数。检查codex,它有示例和更好地解释使用WP_Query
的所有选项