Intereting Posts
Заблокируйте один из сайтов WP Network для незарегистрированных пользователей Как получить атрибут title title / alt? wpml и языки с разными направлениями Как добавить дополнительную страницу на страницу настроек с помощью специального действия? без кликабельщика в меню Количество слов неточно – потенциальная ошибка Задайте параметр главной страницы с помощью настраиваемых полей? Почему WordPress не делает миниатюры для видео? Как добавить изображения по умолчанию в настройку управления настройками темы? 404 при попытке поиска по категориям или по тегу Значение приращения (значение = значение + 1) из $ wpdb-> update Просмотр связанных категорий в порядке сообщений Сделайте только изображение привязкой, используя расширенный плагин excerpt? Используйте wp_nav_menu () для отображения меню с другого сайта в сетевой установке? Как предотвратить добавление новых терминов в пользовательскую таксономию?

Самый ранний WP Hook для безопасного и надежного перенаправления

Я ищу создать пользовательский плагин, который будет проверять конкретный файл cookie от пользователя, а если он не найден, перенаправляйте его на страницу авторизации, где они могут вводить код для доступа к сайту. Это должно произойти по всему сайту, включая страницы входа и регистрации (не спрашивайте, спецификации клиента). Я намереваюсь сделать это, зарегистрировав функцию на самый ранний крючок WordPress, который: a) загружает каждый раз, когда к странице обращается доступ, независимо от содержимого, b) выполняется для каждой отдельной страницы сайта, включенной стороны администратора и в) LATE достаточно, чтобы он имел доступ к пользовательским данным (мы не хотим запускать эту проверку для учетной записи администратора). Какой самый ранний, всегда загруженный, WordPress-крючок, который я мог бы использовать?

Я проверил документацию WordPress и нашел список всех крючков, которые вызываются при загрузке страницы, но не указывает, какие из них ВСЕГДА вызываются против вызываемого для определенного контента (т. Е. registered_taxonomy ли registered_taxonomy на страницах, не связанных с таксономией ?).

Мое собственное предположение было бы крючком init , но я не на 100% позитивен. Я также не уверен, что это слишком рано в последовательности перехватчиков для перенаправления на другую страницу.

В качестве альтернативы, если есть лучший способ справиться с этим, чем перехватывать WordPress, я все уши!

registered_taxonomy недоступен для обычных плагинов, только для использования плагинов. Первым доступным для обычных плагинов является plugins_loaded . Хотя, текущий пользователь не установлен в этот момент, так что нет оснований для этого рано.

set_current_user запускается на каждой странице – даже если не вошел в систему – сразу после установки текущего пользователя. См. Здесь . Функция, вызывающая крючок, является «подключаемой», поэтому, если плагин решил переопределить эту функцию, возможно, что она не будет запускать этот крючок. Мне это кажется маловероятным, поэтому я использую этот крючок для использования пользовательских данных.

Есть еще несколько крючков, запущенных помимо set_current_userunload_textdomain , load_textdomain и after_setup_theme – которые срабатывают на каждой странице. Полагаю, вы могли бы использовать их, если бы захотели.

Если бы это был я, я бы использовал set_current_user . Если вы хотите быть более осторожными, используйте init . init достаточно рано, чтобы вы все равно могли безопасно перенаправлять.

В стороне, я бы рекомендовал использовать плагин Query Monitor . Я нашел его незаменимым для разработки WordPress.