Вопрос или проблема
Я разрабатываю плагин. Я хотел бы настроить сообщения. Когда я удаляю любое сообщение, я получаю сообщение 1 сообщение перемещено в корзину.
, а когда я удаляю сообщение из корзины, я получаю сообщение 1 сообщение навсегда удалено.
. Я получаю сообщение Нет сообщений в корзине.
в таблице списка.
Как я могу настроить эти сообщения?
Я хотел бы настроить их следующим образом.
1 сообщение перемещено в корзину.
—> 1 игра перемещена в корзину.
1 сообщение навсегда удалено.
—> 1 игра навсегда удалена.
Нет сообщений в корзине.
—> Нет игр в корзине.
Ответ или решение
Для настройки сообщений в вашем плагине WordPress, когда вы удаляете посты или когда корзина пуста, вам придется изменить стандартные сообщения, используя функцию фильтрации. Ниже представлен подробный подход к решению данной задачи.
1. Использовать хук для изменения сообщений
В WordPress есть возможность использовать хуки для изменения стандартного поведения. Для настройки сообщений об удалении постов вам нужно будет использовать хук post_deleted
и фильтры для вывода сообщений.
2. Изменение сообщений
Вы можете использовать следующий код в файле вашего плагина или в файле functions.php
вашей темы. Этот код изменяет стандартные сообщения на желаемые.
// Фильтрация сообщений об удалении поста
function custom_delete_post_message( $message, $post_id ) {
// Получаем тип поста
$post_type = get_post_type($post_id);
// Проверяем, что тип поста соответствует нужному
if ($post_type == 'post') {
// Изменяем сообщения
$message = str_replace('post', 'Game', $message);
}
return $message;
}
add_filter('post_deleted', 'custom_delete_post_message', 10, 2);
// Фильтрация сообщения о перемещении в корзину
function custom_trash_post_message( $message ) {
return str_replace('post', 'Game', $message);
}
add_filter('trash_post', 'custom_trash_post_message');
// Фильтрация сообщений о пустой корзине
function custom_empty_trash_message( $message ) {
return str_replace('No posts found in Trash', 'No Games found in Trash', $message);
}
add_filter('admin_notices', 'custom_empty_trash_message');
3. Пошаговое объяснение кода:
-
Функция
custom_delete_post_message
: Эта функция изменяет сообщение о том, что пост был удален. Тут мы проверяем, что тип поста — ‘post’ и заменяем ‘post’ на ‘Game’. -
Функция
custom_trash_post_message
: Аналогичным образом, эта функция заменяет сообщение о перемещении поста в корзину. -
Функция
custom_empty_trash_message
: Эта функция отвечает за изменение сообщения, отображаемого, когда корзина пуста. Мы просто меняем текст, чтобы отобразить «No Games found in Trash».
4. Заключение
Приведенный вами подход поможет вам настроить сообщения согласно вашим требованиям. Обратите внимание, что вы можете расширить данную функциональность, добавив дополнительные проверки для различных типов постов или добавив функции для кастомизации других уведомлений.
Не забывайте протестировать изменения на локальном сервере или в тестовой среде перед переносом в рабочую. Хотя данный код охватывает основные элементы, вы всегда можете адаптировать его под ваши конкретные нужды.