使用自定义分类获取自定义帖子

时间:2018-01-16 作者:michaelsitte

我正在尝试获取自定义帖子“contact“使用自定义分类法”abteilung“对于此帖子类型。我正在尝试的一切都不起作用。现在我只能做以下事情。问题是,查询获取的是所有自定义帖子,而不仅仅是具有特定分类id的帖子29.

在后端,一切正常。我可以将分类项目添加到自定义帖子中,并且它正在计算包含税项目的帖子数量,但我的查询不起作用:

    $args= array(
        \'post_type\' => \'contact\',
        \'numberposts\' => -1,
        array(
            array(
                \'taxonomy\' => \'abteilung\',
                \'field\' => \'term_id\',
                \'terms\' => 29
            )
        )
    );

    $query= new WP_Query($args);

    if($query-> have_posts()):
        while($query-> have_posts()): $query-> the_post();
            the_title(); //Just an example for the loop
        endwhile;
    endif; 
我创建的自定义帖子和分类如下:

function create_post_type() {
    register_post_type(\'contact\',
        array(
        \'labels\' => array(
        \'name\' => __(\'Kontakte\'),
        \'singular_name\' => __(\'Kontakt\')
        ),
        \'public\' => true,
        \'supports\' => array(\'title\'),
    )
    );

    register_taxonomy(\'abteilung\', \'contact\',
        array(
            \'hierarchical\'  => true,
            \'label\'         => __(\'Abteilung\'),
            \'query_var\'     => true
        )
    );
}

add_action (\'init\', \'create_post_type\');

1 个回复
最合适的回答,由SO网友:Jignesh Patel 整理而成

您的分类查询正在运行。请尝试以下操作:

$args = array(
    \'post_type\' => \'contact\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'abteilung\',
            \'field\'    => \'term_id\',
            \'terms\'    => \'29\',
        ),
    ),
);

结束

相关推荐