如何同时显示带有帖子标签和自定义分类的标签云?

时间:2010-11-02 作者:gillespieza

使用wp_tag_cloud(), 如何显示包含常规post标记和自定义分类的单个标记云?

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

以下是对wp_tag_cloud() 功能:

function custom_wp_tag_cloud( $args = \'\' ) {
    $defaults = array(
        \'smallest\' => 8, \'largest\' => 22, \'unit\' => \'pt\', \'number\' => 45,
        \'format\' => \'flat\', \'separator\' => "\\n", \'orderby\' => \'name\', \'order\' => \'ASC\',
        \'exclude\' => \'\', \'include\' => \'\', \'link\' => \'view\', \'taxonomy\' => \'post_tag\', \'echo\' => true
    );
    $args = wp_parse_args( $args, $defaults );

    $tags = get_terms( $args[\'taxonomy\'], array_merge( $args, array( \'orderby\' => \'count\', \'order\' => \'DESC\' ) ) ); // Always query top tags

    if ( empty( $tags ) )
        return;

    foreach ( $tags as $key => $tag ) {
        if ( \'edit\' == $args[\'link\'] )
            $link = get_edit_tag_link( $tag->term_id, $tag->taxonomy );
        else
            $link = get_term_link( intval($tag->term_id), $tag->taxonomy );
        if ( is_wp_error( $link ) )
            return false;

        $tags[ $key ]->link = $link;
        $tags[ $key ]->id = $tag->term_id;
    }

    $return = wp_generate_tag_cloud( $tags, $args ); // Here\'s where those top tags get sorted according to $args

    $return = apply_filters( \'wp_tag_cloud\', $return, $args );

    if ( \'array\' == $args[\'format\'] || empty($args[\'echo\']) )
        return $return;

    echo $return;
}
使用taxonomy 参数:

$args = array(
   \'taxonomy\' => array( \'post_tag\', \'custom_taxonomy\' )
);
custom_wp_tag_cloud( $args );

结束

相关推荐

Saving Taxonomy Terms

我有一个有趣的问题,希望有人能尽快回答。我已经创建了自己的metabox,它基于“我的metabox代码”(下面的列表)正确地显示了我创建的“event\\u types”分类中所有术语的下拉列表。我遇到的问题是,当从下拉列表中选择不同的术语并更新帖子时,能够保存/更新与帖子相关的术语。在对各种代码位进行修补之后,我发现通过手动将term\\u ID number[用逗号分隔]输入数组区域,我得到了我想要的结果。例如,如果在保存帖子时,函数将调用此代码wp_set_post_terms( $post_id