В wp-admin/includes/update-core.php
находим следующую строку:
add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
Я хочу удалить это действие, поэтому я создал плагин mu со следующим содержимым:
<?php # -*- coding: utf-8 -*-
add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 );
function t5_no_redirect_after_update()
{
remove_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
}
Это делает ... ничего. Я все еще перенаправлен. Протестировано с одной и несколькими площадками.
Наверное, я пропускаю что-то очевидное, как обычно. :)
Как это сделать лучше?
Обновить
Основываясь на ответе Брейди, я создаю очень минимальную версию:
<?php # -*- coding: utf-8 -*-
/* Plugin Name: T5 No redirect after core upgrade. */
add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 );
function t5_no_redirect_after_update()
{
show_message( __('WordPress updated successfully') );
// Include admin-footer.php and exit
include(ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
Теперь мы видим сообщение об успехе, и никакое другое действие не вызывается. Вы можете скачать плагин на GitHub . Используйте его как обычный плагин или как плагин MU.
redirect
upgrade
mu-plugins
Фуксия
источник
источник
_core_updated_successfully
Упоминается @Brady действия кажется отсутствует 3.8. * (> 3,7 ??). Есть идеи о замене?/wp-admin/includes/update-core.php
в конце файла.Ответы:
Не удаляйте действие, а добавьте свое собственное перед ним. Если вы удалите действие, вы никогда не получите сообщение о том, что оно было успешно обновлено. Здесь вы можете предоставить свою собственную информацию о том, что делать дальше.
Я знаю, что в чате вы показали, что у вас возникли трудности с удалением действия, поэтому я начал искать решение, которое не удаляет действие, а добавляет его перед ним.
Приведенный выше код является копией основной функции, которую он подключает,
_core_updated_successfully
но удаляет перенаправление и несколько сообщений.Как вы можете видеть,
exit();
в конце функции есть символ, так что если вы перехватываете эту функцию раньше другой, то выход должен остановить дальнейшие перехваты.источник