Как скрыть описание термина на странице редактирования для определенной таксономии

17 февр. 2016 г., 10:31:53
Просмотры: 15.3K
Голосов: 6

Я написал длинные описания для пользовательской таксономии категорий. Я не хочу их удалять, а просто хочу скрыть их на странице управления:

/wp-admin/term.php?taxonomy=custom_category

Я мог бы использовать CSS для скрытия класса "column-description", но я не знаю, как применить это только к этой таксономии.

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

Вы можете настроить целевую форму редактирования таксономии post_tag с помощью хука post_tag_edit_form:

/**
 * Скрыть поле описания термина в форме редактирования post_tag
 */
add_action( "post_tag_edit_form", function( $tag, $taxonomy )
{ 
    ?><style>.term-description-wrap{display:none;}</style><?php
}, 10, 2 );

Здесь также можно настроить для конкретного тега.

Если вам нужно сделать то же самое для других таксономий, используйте хук {taxonomy_slug}_edit_form.

Обновление

Похоже, вопрос был о таблицах списков, а не о форме редактирования.

Я изучил таблицы списков в WordPress и нашел способ удалить столбец описания из таблицы терминов в edit-tags.php

/**
 * Удалить столбец 'description' из таблицы в 'edit-tags.php'
 * но только для таксономии 'post_tag'
 */
add_filter('manage_edit-post_tag_columns', function ( $columns ) 
{
    if( isset( $columns['description'] ) )
        unset( $columns['description'] );   

    return $columns;
} );

Если вы хотите сделать то же самое для других таксономий, используйте фильтр manage_edit-{taxonomy_slug}_columns.

17 февр. 2016 г. 11:03:38
Комментарии

спасибо за ответ. Это не совсем то, что я хотел, но помогло понять, что нужно сделать. Я хотел скрыть колонку из списка категорий. Т.е. когда вы кликаете на тип записи и затем выпадающее меню показывает "категории", я хотел скрыть описание на этой странице. Вместо этого использовал хук _add_form_fields и применил CSS-правило там

user1889580 user1889580
17 февр. 2016 г. 14:41:30

Я обновил ответ, добавив способ удаления колонки 'description' из таблицы терминов. Надеюсь, теперь я правильно понял, если да, пожалуйста, исправьте мои предыдущие правки в вашем вопросе ;-) @DanHastings

birgire birgire
17 февр. 2016 г. 16:02:24
3

Самый чистый способ сделать это, убрав поле описания как на экране редактирования, так и на экране добавления:

function hide_description_row() {
    echo "<style> .term-description-wrap { display:none; } </style>";
}

add_action( "{taxonomy_slug}_edit_form", 'hide_description_row');
add_action( "{taxonomy_slug}_add_form", 'hide_description_row');

Конечно, вам нужно заменить {taxonomy_slug} на слаг вашей таксономии.

13 июл. 2018 г. 13:10:44
Комментарии

Должен быть отмечен как принятый ответ.

Luca Reghellin Luca Reghellin
11 окт. 2019 г. 17:24:40

Это хороший ответ для скрытия поля редактирования описания, но в большинстве случаев также потребуется скрыть колонку с помощью фильтра manage_edit-{taxonomy_slug}_columns.

phip phip
30 авг. 2022 г. 03:54:32

Насколько я понимаю, это приведёт к невалидному HTML из-за тегов style вне <head>. Смотрите моё предложенное решение.

Merc Merc
8 июн. 2023 г. 16:04:20
0

Если вам также нужно скрыть поле описания в форме добавления, используйте этот код

/**
 * Скрыть описание термина в форме редактирования
 */
add_action( '{taxonomy_slug}_add_form', function( $taxonomy )
{
    ?><style>.term-description-wrap{display:none;}</style><?php
}, 10, 2 );
6 июн. 2017 г. 17:03:52
0

Я бы предложил другое решение.


function add_custom_taxonomy_css()
{
  wp_enqueue_style(
    "custom-taxonomy",
    get_stylesheet_directory_uri() . "/custom-taxonomy.css"
  );
}

add_action("exhibitions_edit_form", "add_custom_taxonomy_css");
add_action("exhibitions_add_form", "add_custom_taxonomy_css");

и файл custom-taxonomy.css

/*
 * Скрываем описание таксономии
 */

.term-description-wrap {
  display: none;
}

Это решение, в отличие от других, имеет преимущество в том, что мы по-прежнему получаем валидный HTML, так как у нас нет лишних тегов <style> внутри <body>.

8 июн. 2023 г. 16:05:29