Intereting Posts
Различные предварительные настройки Несколько запросов с meta_query shortcode, который вводится в блог и появляется в боковой панели Как я могу сделать объект доступным через весь сайт? Как сделать плагин Newsletter видимым для пользователей с правами автора? Как правильно деактивировать скрипты и стили в дочерней теме? Заказ по ASC, DESC, Название, Дата с URL-адреса на странице персонализированного шаблона страницы Можно ли упорядочить ссылки Next / Prev Post по заказу меню или мета-ключом? Структура каталогов для изменений плагина Как создать пользовательские URL таксономии без названия таксономии? Изменение ползунка на сетку Вставка переменной в короткий код внутри php «Post-name» Renders Использование page.php, но «post-name-2» отображает с помощью single.php Как разрешить пользователям сохранять список сообщений? Ход меню WordPress. Получите текст родительского элемента внутри функции end_lvl.

Admin первый крюк, который выводит HTML?

Я думаю, load-(page) – это первый крючок на экране администратора, который занимается выпуском HTML, но я не совсем уверен. В основном я ищу эквивалент template_rediect или get_header , которые не работают на стороне администратора (исправьте меня, если я ошибаюсь).

Я хотел бы подключиться к каждой странице администратора. Мое предположение, используя либо $page_now либо get_current_screen() но мой разум пуст о том, как я буду реализовывать их на всех страницах:

 $page = get_current_screen()->parent_file; add_action( 'load-$page.php', 'add_action_all_load_hook', 1, 0 ); 

В интерфейсе я бы сделал следующее:

 function link_rel_buffer_callback($buffer) { $buffer = preg_replace('ORIGINAL', 'NEW', $buffer); return $buffer; } function link_rel_buffer_start() { ob_start("link_rel_buffer_callback"); } function link_rel_buffer_end() { ob_flush(); } add_action('template_redirect', 'link_rel_buffer_start', -1); add_action('get_header', 'link_rel_buffer_start'); add_action('wp_footer', 'link_rel_buffer_end', 999); 

Я думаю, что эквивалент будет

 add_action('load-$page', 'link_rel_buffer_end', 1, 0); add_action('in_admin_footer', 'link_rel_buffer_end', 999); 

но я не могу понять, как делать load-(page) при каждой загрузке.

// ОБНОВЛЕНИЕ НА ОСНОВЕ примера @birgire

 add_action( 'admin_init', 'wpse_admin_init' ); function wpse_admin_init( $buffer ) { if( ! defined( 'DOING_AJAX') || ! DOING_AJAX ) ob_start( 'wpse_buffering' ); } function wpse_buffering( $buffer ) { $buffer = preg_replace('FIND', 'REPLACE', $buffer); return $buffer; } function wpse_buffering_shutdown() { ob_flush(); } add_action('in_admin_footer', 'wpse_buffering_shutdown', 9999); 

Вы можете попробовать это:

 /** * Fires as an admin screen or script is being initialized. * * Note, this does not just run on user-facing admin screens. * It runs on admin-ajax.php and admin-post.php as well. * * This is roughly analgous to the more general 'init' hook, which fires earlier. * * @since 2.5.0 */ do_action( 'admin_init' ); 

если вам нужен крючок, активированный на каждой странице администратора.

Например:

 add_action( 'admin_init', 'wpse_admin_init' ); function wpse_admin_init( $buffer ) { if( ! defined( 'DOING_AJAX') || ! DOING_AJAX ) ob_start( 'wpse_buffering' ); } function wpse_buffering( $buffer ) { return $buffer; } 

ps: Если вам нужно зацепить часть после </html> , вы можете использовать функцию PHP register_shutdown_function() чтобы запустить свой собственный обратный вызов после завершения скрипта PHP. Но обратите внимание, что тогда выходные буферы уже отправляются клиенту в соответствии с этим комментарием к документам PHP .