删除类别/分类法描述字段?


Answers:


6

当没有钩子可用时,您总是可以指望旧的jQuery技巧...

add_action( 'admin_footer-edit-tags.php', 'wpse_56569_remove_cat_tag_description' );

function wpse_56569_remove_cat_tag_description(){
    global $current_screen;
    switch ( $current_screen->id ) 
    {
        case 'edit-category':
            // WE ARE AT /wp-admin/edit-tags.php?taxonomy=category
            // OR AT /wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=1&post_type=post
            break;
        case 'edit-post_tag':
            // WE ARE AT /wp-admin/edit-tags.php?taxonomy=post_tag
            // OR AT /wp-admin/edit-tags.php?action=edit&taxonomy=post_tag&tag_ID=3&post_type=post
            break;
    }
    ?>
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        $('#tag-description').parent().remove();
    });
    </script>
    <?php
}

谢谢。尽管我必须添加#description才能从编辑类别/分类页面中删除该字段,但这仍然有效。不过,这有点不安全,因为带有描述ID的所有内容都将被删除。我可以更明确地指定目标吗?我不确定自己如何。
Johan Dahl 2012年

1
好吧,该脚本仅被打印在edit-tags.php页面中。刚刚检查并按预期在每个页面中仅存在一个具有这些ID的div。但我在答案中添加了额外的代码,因此您可以确定自己实际上位于哪个页面,标签或类别中。
brasofilo 2012年

4

使用CSS,我正在实现JS解决方案,但我不喜欢延迟,因此我想起了这一点。

body.taxonomy-name .term-description-wrap {
  display:none;
}

2

AFAIK,您可以添加新字段,但不能删除旧字段!它们是直接打印的,而不是存储在可以应用过滤器的变量中。参考:wp-admin/edit-tags.php行号。380。


好,不好。我猜想必须使用上面的jQuery方法。谢谢。
Johan Dahl 2012年

不用客气,jQuery技巧可以正常工作!
罗特威克·甘古德

1

“删除”的最有效方法是通过使用“ admin_head”操作挂钩将CSS应用于管理区域。

add_action('admin_head', 'my_admin_area_custom_css');

function my_admin_area_custom_css() {
    echo '<style>
        body.taxonomy-name .term-description-wrap {
            display:none;
        }
  </style>';
}

注意:将更body.taxonomy-name改为您希望为其隐藏描述字段的分类名称。

没有钩子可以从文档中删除标记,因此可以使用CSS将其隐藏。



0

在“编辑类别/分类”页面上,.parent()不要删除表单字段的标签。这是可在两个页面上完全删除的jQuery:

$('#tag-description').closest('.form-field').remove();
$('#description').closest('.form-field').remove();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.