首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个CPT中移除许多元盒

从多个CPT中移除许多元盒
EN

WordPress Development用户
提问于 2016-09-06 22:55:08
回答 1查看 119关注 0票数 0

嗨,我正在为我的工作建立多个网站。所有网站都将利用CPTsCustom Taxonomies。注册的分类法将使用Advanced Custom Fields插件处理。因此,我想从所有潜在的站点中删除所有分类元框。我知道我可以通过以下方式做到这一点:

代码语言:javascript
复制
function my_remove_meta_boxes() {
        remove_meta_box( 'tax-1div', 'CPT-1', 'side' );
        remove_meta_box( 'tax-2div', 'CPT-1', 'side' );
        remove_meta_box( 'tax-3div', 'CPT-1', 'side' );
        remove_meta_box( 'tax-4div', 'CPT-1', 'side' );
        remove_meta_box( 'tax-5div', 'CPT-1', 'side' );
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

但这只会从定义的CPT-1中删除上述元框,而不是所有潜在的CPT组合。要从所有可能的CPT中删除,我必须这样做:

代码语言:javascript
复制
    function my_remove_meta_boxes() {
                remove_meta_box( 'tax-1div', 'CPT-1', 'side' );
                remove_meta_box( 'tax-2div', 'CPT-1', 'side' );
                remove_meta_box( 'tax-3div', 'CPT-1', 'side' );
                remove_meta_box( 'tax-4div', 'CPT-1', 'side' );
                remove_meta_box( 'tax-5div', 'CPT-1', 'side' );
                remove_meta_box( 'tax-1div', 'CPT-2', 'side' );             
                remove_meta_box( 'tax-2div', 'CPT-2', 'side' );
                remove_meta_box( 'tax-3div', 'CPT-2', 'side' );
                remove_meta_box( 'tax-4div', 'CPT-2', 'side' );
                remove_meta_box( 'tax-5div', 'CPT-2', 'side' );
        }
        add_action( 'admin_menu', 'my_remove_meta_boxes' );

除了注销所有CPT的所有元框之外,是否还有更有效的方法来做到这一点?

EN

回答 1

WordPress Development用户

发布于 2016-09-06 23:44:31

ACF是一个很好的插件,可以将这些作为选项,但是您可以考虑在主题中注册自定义分类法,或者插件WordPress方法

如果这是您的选择,您将有很大的灵活性来做一些事情。

  1. 可以为多个post类型注册1个分类法。
  2. 您可以选择隐藏UI,这样以后就不必隐藏它了。

这里有一个从法典中修改的简单示例:

代码语言:javascript
复制
add_action( 'init', 'create_wpse_tax' );

function create_wpse_tax() {
    register_taxonomy(
        'custom_tax',
        array('cpt_1','cpt_2','cpt_3'), // <- multiple post types in an array here.
        array(
            'label' => __( 'Custom Tax' ),
            'rewrite' => array( 'slug' => 'custom-tax' ),
            'hierarchical' => true,
            'show_ui' => false, // <- don't show the UI
            'hide_meta_box' => true // **EDIT** - don't show the meta box
        )
    );
}

编辑:我刚刚找到了另一个不在法典中的参数,叫做hide_meta_box。这可能更像您正在寻找的东西,而不是完全隐藏UI。请参阅以上代码块中的编辑。

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/238424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档