WP_Query cpt分类法没有加载帖子

时间:2017-10-24 13:20:44

标签: php wordpress custom-post-type custom-taxonomy

我通过custom post type UI插件创建了一些分类法和post_types。 我将带有表单的taxonomy_id传递给了一个页面,我正确地收到了它[var_dump($_POST)]显示了我的数字示例30。我想显示来自该自定义帖子类型类别的帖子:我尝试了下面的代码,但它什么也没有返回。

$args = [
    'tax_query' => array(
        array(
            'taxonomy' => 'school_type',
            'field' => 'term_id',
            'terms' => array('30','22'),
            // 'operator' =>  'IN'
        ),
    'post_type' =>  'school',
    )
];
if($q->have_posts()):
    while($q->have_posts()){
        $q->the_post();
        echo the_title();
    }
else:
    echo 'nothing';
endif;

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:0)

post_type阵列中有tax_query,而且当它不存在时,你会定位$q(不管怎么说,我都看不到。)。

尝试这样的事情: -

$args = array(
    'post_type' => 'school',
    'tax_query'     => array(
        array(
            'taxonomy'      => 'school_type',
            'field'         => 'term_id',
            'terms'         => array('30','22'),
        ),
    ),
    'numberposts'  => -1
);
$q = new WP_Query($args);
if($q->have_posts()):
    while($q->have_posts()){
        $q->the_post();
        echo the_title();
    }
else:
    echo 'nothing';
endif;

答案 1 :(得分:0)

你应该有一个像这样的$ arg变量,然后使用WP_Query()对象来获取你的帖子。

   $args = array(
        'post_type' => 'school',
        'posts_per_page'=>30,
        'post_status' => 'publish',
        'tax_query' => array(array(
            'taxonomy' => 'school_type', 
            'field' => 'term_id', 
            'terms' => array('30','22'), 
    );

    $q = new WP_Query($args);
     if($q->have_posts()):
            while($q->have_posts()){
                $q->the_post();
                echo the_title();
            }
        else:
            echo 'nothing';
        endif;

答案 2 :(得分:0)

$q = new WP_Query( $args );放在if行

之前

答案 3 :(得分:0)

将永久链接更改为帖子类型并更新永久链接,希望这会有所帮助。