Удалить поле описания категории / таксономии?


8

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

Ответы:


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, чтобы убрать поле со страницы редактирования категории / таксономии. Это кажется небезопасным, так как все, что с идентификатором описания будет удалено. Могу ли я быть более точным в своем таргетинге? Я не уверен, как себя.
Йохан Даль

1
Ну, сценарий только печатается на edit-tags.phpстраницах. Только что проверил и, как и ожидалось, на каждой странице есть только один div с этими идентификаторами. Но я добавляю дополнительный код в мой ответ, чтобы вы были уверены, на какой странице вы находитесь, теги или категории.
brasofilo

4

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

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

2

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


Хорошо, плохо. Должен использовать метод jQuery выше, тогда я думаю. Спасибо.
Йохан Даль

Пожалуйста, уловка jQuery будет работать отлично!
Rutwick Gangurde

1

Самый эффективный способ «удалить» это применить 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>';
}

NB. Обновите body.taxonomy-nameимя таксономии, для которого вы хотите скрыть поле описания.

Не существует ловушки для удаления разметки из документа, поэтому она скрывается с помощью CSS.


0

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

$('label[for="description"]').parent().parent().remove(); 

0

На странице «Изменить категорию / таксономию» .parent()не удаляется метка поля формы. Вот jQuery для полного удаления на обеих страницах:

$('#tag-description').closest('.form-field').remove();
$('#description').closest('.form-field').remove();
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.