Remove Tag from theme support

时间:2012-04-04 作者:zagriyen

我会从经典帖子类型中删除标签功能,我可以使用remove_theme_support( $feature ); 如何做到这一点?

提前感谢

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

你可以这样做:

add_action( \'init\', \'wpse48017_remove_tags\' );
function wpse48017_remove_tags() {
    global $wp_taxonomies;
    $tax = \'post_tag\'; // this may be wrong, I never remember the names on the defaults
    if( taxonomy_exists( $tax ) )
        unset( $wp_taxonomies[$tax] );
}
有一个move to get a function implemented 但这还没有发生。

SO网友:zgreen

从WordPress 3.7开始unregister_taxonomy_for_object_type 功能仅适用于这类事情。

在您的情况下:

// Remove tags support from posts
function myprefix_unregister_tags() {
    unregister_taxonomy_for_object_type(\'post_tag\', \'post\');
}
add_action(\'init\', \'myprefix_unregister_tags\');
查看此功能的文档here.

SO网友:Stephen M. Harris

@m0r7if3r的回答实际上在“立即”仪表板小部件中产生了一个错误。即使关闭了错误,“标记”行也显示为空白计数。我扩展了that solution 要在此仪表板小部件中隐藏“标记”,请执行以下操作:

add_action( \'init\', \'wpse48017_remove_tags\' );
function wpse48017_remove_tags(){
    global $wp_taxonomies;
    unset($wp_taxonomies[\'post_tag\']);
    global $pagenow;
    if( $pagenow == \'index.php\' ){
        add_action( \'admin_head\', \'ob_start\', 0, 0 );
        add_action( \'right_now_content_table_end\', \'wpse48017_remove_tags_dashboard\' );
    }
}
function wpse48017_remove_tags_dashboard(){
    #echo \'<pre>\'.htmlentities( ob_get_clean(), 0, null, true );die();
    echo preg_replace(\'#(Categories</a></td></tr>)<tr>([\\s\\S]*?number_format\\(\\) expects parameter 1 to be double, object given[\\s\\S]*?)?<td class="first b b-tags.*?</tr>#\',\'$1\',ob_get_clean());
}
删除标记可能会在其他方面产生错误,或中断硬编码链接。所以我想把它变成一个社区维基,但这个讨论可能属于core.trac.wordpress.org.

SO网友:jmarceli

你可以试试:

function remove_unused_taxonomies() {
    register_taxonomy(
        \'post_tag\', // or any other taxonomy name e.g. \'category\'
        array()
    );
}
add_action( \'init\', \'remove_unused_taxonomies\' );
它不是永久性的,它只会在管理菜单中隐藏分类法链接。

结束

相关推荐