获取自定义帖子类型类别

时间:2014-01-18 作者:Manolo

从…起http://codex.wordpress.com:

$categories = get_categories( $args );

$args = array(
\'type\'                     => \'post\',
\'child_of\'                 => 0,
\'parent\'                   => \'\',
\'orderby\'                  => \'name\',
\'order\'                    => \'ASC\',
\'hide_empty\'               => 1,
\'hierarchical\'             => 1,
\'exclude\'                  => \'\',
\'include\'                  => \'\',
\'number\'                   => \'\',
\'taxonomy\'                 => \'category\',
\'pad_counts\'               => false 
); 
我认为“类型”是post类型。但不是。这是要检索的类别类型。我的研究没有成功。

那么,你知道如何检索分配给特定职位类型的所有职位的所有类别吗?

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

适用于任何分类后关系的暴力解决方案:

global $wpdb;

// set the target relationship here
$post_type = \'post\';
$taxonomy = \'category\';

$terms_ids = $wpdb->get_col( $wpdb->prepare( "
    SELECT
        tt.term_id
    FROM
        {$wpdb->term_relationships} tr,
        {$wpdb->term_taxonomy} tt,
        {$wpdb->posts} p
    WHERE 1=1
        AND tr.object_id = p.id
        AND p.post_type = \'%s\'
        AND p.post_status = \'publish\'
        AND tr.term_taxonomy_id = tt.term_taxonomy_id
        AND tt.taxonomy =\'%s\'
    ", $post_type, $taxonomy ) );

// here you are
$terms = get_terms( $taxonomy, array(
    \'include\' => $terms_ids,
    \'orderby\' => \'name\',
    \'order\' => \'ASC\'
) );

结束

相关推荐

具有自定义分类的自定义帖子类型中的WP_DROPDOWN_CATEGORIES

我有一个自定义的帖子类型,它有自己的分类法,基本上“show Vinces”是帖子类型,Vincement regions是分类法。看到一个场馆无法在多个地区存在,我删除了默认的metta框,并使用wp_dropdown_categories(). 分类法项目正在输出并按我所希望的方式显示,但它们不会被提交,并且下拉列表在提交后不会保留所选内容。我已经尽我所能地查看原始metabox的各种属性,并尝试将这些属性应用到下拉列表中,但到目前为止,我没有任何乐趣。我看过一些various WPSE上的帖子和ha