Вопрос или проблема
Я хочу отключить, скрыть или удалить кнопки удаления со страницы категории
Я попробовал редактировать 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 или к профессионалам в этой области.