Как убрать поле описания категории/таксономии?

26 июн. 2012 г., 16:30:39
Просмотры: 18.3K
Голосов: 9

Как можно убрать поле описания категории/таксономии? То самое, которое отображается на странице редактирования категории/таксономии.

0
Все ответы на вопрос 7
2

Когда нет доступного хука, всегда можно положиться на старые трюки с 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':
            // МЫ НАХОДИМСЯ НА /wp-admin/edit-tags.php?taxonomy=category
            // ИЛИ НА /wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=1&post_type=post
            break;
        case 'edit-post_tag':
            // МЫ НАХОДИМСЯ НА /wp-admin/edit-tags.php?taxonomy=post_tag
            // ИЛИ НА /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
}
26 июн. 2012 г. 17:20:22
Комментарии

Спасибо. Это работает, хотя мне пришлось добавить #description, чтобы поле также удалялось со страницы редактирования категории/таксономии. Однако это кажется немного ненадежным, так как будет удалено все, что имеет ID description. Можно ли сделать выбор более конкретным? Сам не уверен, как это сделать.

Johan Dahl Johan Dahl
26 июн. 2012 г. 17:45:26

Скрипт выводится только на страницах edit-tags.php. Только что проверил, и, как и ожидалось, на каждой странице существует только один div с такими ID. Но я добавлю дополнительный код в свой ответ, чтобы вы точно знали, на какой странице находитесь — тегов или категорий.

brasofilo brasofilo
26 июн. 2012 г. 18:07:37
0

Используйте CSS. Я реализовывал решение на JS, но мне не понравилась задержка, и тогда я вспомнил об этом.

body.taxonomy-name .term-description-wrap {
  display:none;
}
30 мар. 2015 г. 01:23:01
2

Насколько мне известно, вы можете добавлять новые поля, но не можете удалить старые! Они выводятся напрямую и не хранятся в переменной, к которой можно применить фильтр. Ссылка: wp-admin/edit-tags.php, строка 380.

26 июн. 2012 г. 16:50:34
Комментарии

Хорошо, жаль. Придется использовать jQuery метод, упомянутый выше, наверное. Спасибо.

Johan Dahl Johan Dahl
26 июн. 2012 г. 17:43:53

Пожалуйста, jQuery трюк отлично сработает!

Rutwick Gangurde Rutwick Gangurde
27 июн. 2012 г. 11:59:48
0

Самый эффективный способ "удаления" этого поля - применить CSS для области администрирования, используя хук действия 'admin_head'.

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.

22 апр. 2020 г. 00:51:07
0

Я также использовал jQuery ниже, чтобы добиться этого.

$('label[for="description"]').parent().parent().remove(); 
5 июн. 2013 г. 22:42:06
0

На странице редактирования категории/таксономии, метод .parent() не удаляет метку поля формы. Вот jQuery для полного удаления на обеих страницах:

$('#tag-description').closest('.form-field').remove();
$('#description').closest('.form-field').remove();
10 июл. 2013 г. 23:14:39
2

Думаю, это будет хорошим решением

add_filter('manage_edit-product_cat_columns', function ( $columns ) {
    if( isset( $columns['description'] ) )
        unset( $columns['description'] );   
    return $columns;
} );
19 авг. 2020 г. 16:21:20
Комментарии

У меня это не сработало

Web Tailor Web Tailor
4 сент. 2020 г. 13:32:37

@WebTailor попробуй с приоритетом 99, добавь ",99" перед закрывающей скобкой последней функции

Suraj Wasnik Suraj Wasnik
9 сент. 2020 г. 15:07:04