Wordpress显示属于自定义帖子类型的标签

时间:2014-11-05 19:51:27

标签: php wordpress widget taxonomy

我创建了一个名为“portfolio”的自定义帖子类型,并使用以下命令在编辑器中添加了标签列:

register_taxonomy_for_object_type( 'post_tag', 'portfolio'  );

将标签小部件添加到侧边栏后,它会显示我所有帖子中的所有标签。如何显示仅属于“投资组合”帖子类型的标签?

还有办法将投资组合帖子类型的默认名称“Tags”更改为“Portfolio Tags”吗?

1 个答案:

答案 0 :(得分:3)

实现这一目标的最简单方法可能是创建自定义分类法。这也是将标签名称更改为投资组合标签的唯一方法。

为此,您可以使用register_taxonomy():

// Register Custom Taxonomy
function portfolio_tags_taxononmy() {

    $labels = array(
        'name'                       => 'Portfolio Tag',
        'singular_name'              => 'Portfolio Tag',
        'menu_name'                  => 'Portfolio Tags',
        'all_items'                  => 'All Portfolio Tags',
        'parent_item'                => 'Parent Portfolio Tag',
        'parent_item_colon'          => 'Parent Portfolio Tag:',
        'new_item_name'              => 'New Portfolio Tag',
        'add_new_item'               => 'Add New Portfolio Tag',
        'edit_item'                  => 'Edit Portfolio Tag',
        'update_item'                => 'Update Portfolio Tag',
        'separate_items_with_commas' => 'Separate Portfolio Tags with commas',
        'search_items'               => 'Search Portfolio Tags',
        'add_or_remove_items'        => 'Add or remove Portfolio Tags',
        'choose_from_most_used'      => 'Choose from the most used Portfolio Tags',
        'not_found'                  => 'Not Found',
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => false,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'portfolio-tags', array( 'portfolio' ), $args );

}

// Hook into the 'init' action
add_action( 'init', 'portfolio_tags_taxononmy', 0 );

现在,您可以使用'portfolio-tags'代替'post_tag':

register_taxonomy_for_object_type( 'portfolio-tags', 'portfolio' );

要生成标记云,您可以使用wp_tag_cloud():

wp_tag_cloud( array( 'taxonomy' => 'portfolio-tags' ) );