从分类编辑屏幕中删除元框

时间:2014-10-10 17:23:25

标签: wordpress

我一直在添加/删除类似于以下代码的元框:

function mw_remove_postboxes() {

    // Remove metaboxes from WooCommerce screens
    remove_meta_box( 'wp-display-header', 'product', 'normal' );
    remove_meta_box( 'wp-display-header', 'shop_order', 'normal' );
    remove_meta_box( 'wp-display-header', 'shop_coupon', 'normal' );
    remove_meta_box( 'wp-display-header', 'acf', 'normal' );

    // Remove metaboxes from Banners post type management
    remove_meta_box( 'wp-display-header', 'banners', 'normal' );
    remove_meta_box( 'wpseo_meta', 'banners', 'normal' );

}
add_action( 'do_meta_boxes' , 'mw_remove_postboxes' );

现在我的需求略有不同,我需要从edit-tags.php屏幕中删除元框/edit-tags.php?action=edit&taxonomy=featured&tag_ID=22&post_type=page

这是编辑分类法的页面。我已经找到了从自定义帖子类型中删除分类法元框的方法,但是对于这种情况没有。

你可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

可以使用jQuery完成:

$('h3').each(function() { 
    if( $(this).text() === 'Header' ) {
        // Text after element: http://stackoverflow.com/a/6925135/1287812
        var a = $(this).parent().first().contents().filter(function() {
            return this.nodeType == 3;
        });
        a.remove();
        $(this).hide(); 
        $(this).next().hide(); 
    } 
});

或使用此master lesson on removing hooks registered by anonymous objects。从WPSE中拉出函数 remove_anonymous_object_filter() ,并将其命名为:

add_action( 'admin_init', 'kill_anonymous_example', 0 );

function kill_anonymous_example()
{
    foreach ( get_taxonomies( array( 'show_ui' => true ) ) as $_tax )
        remove_anonymous_object_filter(
            "{$_tax}_edit_form",
            'Obenland_Wp_Display_Header', // plugin instantiation on Obenland_wpdh_instantiate(new Obenland_Wp_Display_Header)
            'edit_form'
        );
}