Когда срабатывает действие admin_init в WordPress?

19 апр. 2012 г., 06:50:38
Просмотры: 19.7K
Голосов: 6

У меня есть эта функция, которая вызывается с помощью действия admin_init:

function my_flush_rewrites() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

Она подключена следующим образом:

add_action('admin_init', 'my_flush_rewrites');

Мне интересно, когда именно она вызывается? Вызывается ли она при каждой загрузке страницы? Надеюсь, что нет.

0
Все ответы на вопрос 3
2
10

Из Кодекса:

admin_init срабатывает перед любым другим хуком при доступе пользователя в админку. Этот хук не предоставляет никаких параметров, поэтому может использоваться только для вызова указанной функции.

Так что да, он выполняется при каждой загрузке админ-страницы.

19 апр. 2012 г. 07:03:28
Комментарии

Да, я это читал, но не был уверен. В общем, мой обычный пользователь не будет постоянно нажимать на это снова и снова, этого я и боялся. Спасибо за быстрый ответ!

JasonDavis JasonDavis
19 апр. 2012 г. 07:06:32

Не стоит добавлять вызов flush rules в admin_init именно потому, что он выполняется каждый раз при загрузке административной страницы. Вместо этого запускайте его при активации, деактивации плагина или, если у плагина есть страница настроек, при сохранении новых настроек.

Ciantic Ciantic
6 мар. 2014 г. 17:33:23
0

Все хуки выполняются после того, как основное приложение WordPress завершает процесс загрузки.

Таким образом, хуки инициализации в основном используются для запуска процессов в плагинах и темах.

Доступные хуки инициализации в WordPress, в порядке их выполнения:

1) init -> срабатывает после завершения загрузки WordPress, но до отправки заголовков. Обычно используется плагинами для инициализации их процессов.

2) widgets_init -> используется для регистрации виджетов боковой панели приложения. Функция register_widget выполняется в рамках этого хука.

3) admin_init -> выполняется как первое действие, когда пользователь получает доступ к административной части WordPress. Обычно используется для инициализации настроек, специфичных для админ-панели.

Хук admin_init выполняется каждый раз при отображении страницы админки.

Для получения дополнительной информации о процессе активации вы также можете обратиться к WordPress Codex.

3 февр. 2014 г. 07:06:19
1

Хук admin_init срабатывает, когда пользователь заходит в админ-панель. Это первый хук, который активируется. Его можно использовать в таких случаях:

  1. Мы хотим заблокировать доступ к админ-панели для пользователей без роли Администратора.
  2. Мы хотим автоматически перенаправлять пользователей без указанных прав (capabilities) на главную страницу.
  3. Мы хотим зарегистрировать новую настройку для использования в плагине.
27 июл. 2016 г. 12:56:12
Комментарии

Добро пожаловать на сайт. Что вы имеете в виду под "Это первый срабатывающий хук"? Существует множество хуков, которые срабатывают раньше, такие как muplugins_loaded, plugins_loaded и admin_menu.

birgire birgire
27 июл. 2016 г. 14:02:24