админпанель – Как удалить кнопку “удалить” со страницы редактирования категории

Вопрос или проблема

Я хочу отключить, скрыть или удалить кнопки удаления со страницы категории

введите описание изображения здесь

Я попробовал редактировать functions.php, но безуспешно:

add_action('admin_head', 'hide_category_buttons');

function hide_category_buttons() {
  echo '<style>
    .taxonomy-category tr:hover .row-actions {
        visibility: hidden;
    }
  </style>';
}

WordPress имеет фильтр для ссылок действий.

apply_filters( "{$taxonomy}_row_actions", $actions, $tag );

Для таксономии product_cat:

add_filter('product_cat_row_actions', function($actions, $term) {
    unset($actions['delete']);
    return $actions;
});

https://developer.wordpress.org/reference/hooks/taxonomy_row_actions/

В вашем коде требуется небольшая модификация, вместо этого класса .taxonomy-category tr:hover .row-actions примените CSS к этому классу .taxonomy-category .row-actions span.delete, это будет работать.

Вот весь код.

add_action('admin_head', 'hide_category_buttons');

function hide_category_buttons() {
   echo '<style>
     .taxonomy-category .row-actions span.delete {
        visibility: hidden;
     }
   </style>';
}

Возможно, ваш CSS-селектор неверен. Вы можете фильтровать админ-страницы, где выполняется ваша функция, и можете использовать универсальный селектор.

global $pagenow;   
 
if (( $pagenow == 'edit-tags.php' ) && ($_GET['taxonomy'] == 'product_cat') && 
($_GET['post_type'] == 'product') ) {
    add_action('admin_head', 'hide_category_buttons'); 
}

function hide_category_buttons() {
  echo '<style> .row-actions > .delete { display: none; }  </style>';
}

Ответ или решение

Чтобы удалить кнопку "Удалить" на странице редактирования категорий в WordPress, вы можете воспользоваться одним из нескольких подходов. Мы разберем это поэтапно, чтобы вам было понятно, как это осуществить наиболее эффективно.

Шаг 1: Понимание проблемы

Кнопка "Удалить" в административной панели WordPress может вызвать нежелательные последствия, если она случайно будет нажата. Поэтому разумно скрыть или удалить ее из интерфейса, если у вас есть такая необходимость.

Шаг 2: Использование фильтров WordPress

WordPress предоставляет удобный механизм фильтров для изменения действующих элементов панели. В данном случае нас интересует фильтр для действий из ряда категорий. Мы можем использовать фильтр product_cat_row_actions для удаления ссылки на удаление категории.

Пример кода

1. Добавление фильтра:

Добавим следующий код в ваш файл functions.php вашей темы:

add_filter('product_cat_row_actions', function($actions, $term) {
    unset($actions['delete']); // Удаляем действие "удалить"
    return $actions;
});

Этот код уберет кнопку "Удалить" из панели действий для таксономии product_cat.

Шаг 3: Скрытие через CSS (опционально)

В некоторых случаях может возникнуть необходимость скрыть кнопку через CSS. Например, если вы хотите, чтобы она была просто скрыта, а не удалялась из массива действий. В таком случае вы можете использовать следующий код:

add_action('admin_head', 'hide_category_buttons');

function hide_category_buttons() {
   // Убедитесь, что вы находитесь на нужной странице:
   global $pagenow;   

   if (( $pagenow == 'edit-tags.php' ) && ($_GET['taxonomy'] == 'product_cat')) {
       echo '<style>
           .row-actions .delete { display: none; }
       </style>';
   }
}

Шаг 4: Проверка

После внесения изменений важно проверить, что они действительно применились. Откройте страницу редактирования категорий, и кнопка "Удалить" должна быть скрыта.

Заключение

Теперь вы знаете, как убрать кнопку "Удалить" с страницы редактирования категорий в WordPress с помощью фильтров и CSS. Эти методы помогут вам настроить интерфейс в соответствии с вашими требованиями и предотвратить случайные удаления категорий. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться в сообщество WordPress или к профессионалам в этой области.

Оцените материал
Добавить комментарий

Капча загружается...