查找没有自定义分类的帖子

时间:2016-06-08 作者:pppp

我正在使用自定义分类法系列来跟踪系列中的帖子。我想找到没有系列的帖子。我有以下疑问:

global $wpdb;
$pr = $wpdb->prefix;    

$sql_no_series=
    "Select  
            *
    from    
            wp_term_taxonomy tt,
            wp_term_relationships tr,
            wp_posts p 
    WHERE   
            tt.term_taxonomy_id=tr.term_taxonomy_id AND
            tr.object_id=p.ID AND
            p.ID NOT IN 
                (Select  
                        p.ID
                from    
                        wp_term_taxonomy tt,
                        wp_term_relationships tr,
                        wp_posts p 
                WHERE   
                        tt.term_taxonomy_id=tr.term_taxonomy_id AND
                        tr.object_id=p.ID AND
                        tt.taxonomy=\'series\')
    AND tt.term_taxonomy_id = $category ";

$no_series = $wpdb->get_results($sql_no_series,ARRAY_A);
有没有一种方法可以使用WP\\u查询来完成?

2 个回复
SO网友:Glenn Forrest

Emily的回答基本上是正确的,只是操作符中不应该有下划线:

$args = array(
    \'post_type\' => \'my_post_type\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'series\',
            \'operator\' => \'NOT EXISTS\',
        ),
    ),
);
$query = new WP_Query( $args );

SO网友:emily

类似的方法应该可以使用,其中series是分类名称,而不是分类中的选项:

$args = array(
    \'post_type\' => \'my_post_type\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'series\',
            \'operator\' => \'NOT_EXISTS\',
        ),
    ),
);
$query = new WP_Query( $args );
参考大量代码示例:https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters