Load- (page_hook) - спрацьовує на окремій сторінці адмін-панелі

Спрацьовує на окремій сторінці адмін-панелі. На якій саме сторінці спрацює хук вказується в (page_hook). Хук передає жодних додаткових даних.

Зазвичай цей хук не використовується безпосередньо і досить зареєструвати сторінку в адмін-панелі, за допомогою функцій додавання меню: add_theme_page (). add_menu_page (). add_options_page (). add_submenu_page (). тобто всіх функцій add _ * _ page ().

Кожна функція додавання меню і похідні від них функції: add _ * _ page (). наприклад add_options_page () повертають спеціальний код, званий "Page Hook Suffix". Цей код потрібно використовувати в (page_hook), щоб виконувати дії тільки на потрібній сторінці, а не скрізь в адмінці.

load- (page_hook) спрацьовує на певній сторінці плагіна, після хуков: init. admin_menu. admin_init. current_screen. але до виведення контенту самої сторінки, тобто до хуков: admin_print_styles. admin_print_scripts. admin_head. admin_notices.

Наприклад, зареєструємо сторінку в підрозділ "Інструменти" і отримаємо хук для нашої нової сторінки, який буде спрацьовувати тільки на ній:

Назва суфікса (page_hook) можна також отримати за допомогою функції get_plugin_page_hook ($ plugin_page, $ parent_page)

Майже ідентичний load- (page_hook) хук - просто $ page_hook - він спрацьовує трохи пізніше і виконує ту ж саму задачу.

Якщо WP не зможе отримати $ page_hook через функцію get_plugin_page_hook (). то буде виконуватися хук 'load - ($ plugin_page)', де $ plugin_page ця назва плагіна - basename ().

У всіх інших випадках виконується хук 'load - ($ pagenow)' де $ pagenow - глобальна змінна, зберігає назву поточного php файлу, наприклад: 'post-new.php', 'admin.php'.

Використання

# 1 Приклад використання

У цьому прикладі ми реєструємо сторінку налаштувань і поділяємо дії: HTML код сторінки обробляємо окремо, а інші дії вішаємо на іншу функцію. Зробити це зручно за допомогою хука load- (page_hook).

Припустимо, що наш плагін обов'язково потрібно налаштувати. І ми вішаємо повідомлення в адмінці, на всі сторінки, якщо плагін ще не налаштований (через хук admin_notices). Але таке повідомлення не повинно показуватися на сторінці налаштувань самого плагіна:

# 2 Підключаємо скрипт плагіна тільки на його сторінках

зв'язки хука

Решта хукі з файлу: wp-admin / admin.php: