Wordpress获得自定义帖子计数

时间:2012-04-10 13:57:25

标签: wordpress

我需要自定义查询来显示循环外的帖子数。

结果需要按以下方式过滤:

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

如何把所有人放在一起?

2 个答案:

答案 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

的所有选项