Intereting Posts
Могу ли я добавить flickr, imgur и т. Д. Загрузчик для моей кнопки загрузки WP? Создал WordPress, используя быструю установку на Hostgator, но не смог получить доступ к URLS Остановите WordPress полностью и запустите свой собственный код. получить идентификатор автора, учитывая идентификатор сообщения Где фактические данные, хранящиеся в add_post_meta Как предотвратить повторное появление папки в моем домашнем каталоге? Как разместить номера страниц со следующим / предыдущим в списке сообщений / категорий? Более чистый способ доступа к пользовательским полям в коде? контактная форма в шаблоне с jquery, validate и ajax get_the_excerpt добавление нежелательных ссылок на вывод html Любой способ изменить фактическое имя файла из медиа-менеджера? как уменьшить количество спам-комментариев Выдержка теперь отображается на странице сообщения Пользовательская внешняя страница для плагина без «физической» страницы? Композитные продукты Woocommerce – добавьте композитный продукт в корзину программно через ajax

Перенаправить страницу входа по умолчанию на пользовательскую страницу

Я хочу перенаправить страницу входа в WordPress по умолчанию на пользовательскую страницу входа. Я добавляю этот код в плагин:

if (!is_user_logged_in()) { wp_redirect( wp_login_url( $redirect ) ); exit(); } 

Но он дает эту ошибку:

 Fatal error: Call to undefined function is_user_logged_in() 

Почему это происходит и как я могу это исправить? Благодарю.

Как правило, вам нужно сказать WordPress, когда нужно что-то делать. Если вы просто уронили свой код в плагине, то вы не дадите WordPress информацию о том, когда выполнять ваши команды, и вы рискуете функциями, которые вам еще предстоит определить.

Прямо сейчас, ваш код говорит: «Если кто-то не вошел в систему, всегда перенаправляйте его на обычный URL-адрес для входа», что противоречит тому, как это звучит, как вы пытаетесь сделать.

Попробуйте функцию в вашем файле плагина и привяжите ее к крючку . Вот пример:

 function wpse_177404_login_screen_redirect() { global $pagenow; if ($pagenow == 'wp-login.php' && !is_user_logged_in()) { wp_redirect('http://your-site.com/custom-login/'); exit; } } add_action('init', 'wpse_177404_login_screen_redirect'); 

При этом вы сообщаете WordPress, чтобы проверить, является ли страница wp-login.php для каждой загрузки, и если кто-то не вошел в систему, перенаправляйте их на новую страницу по вашему выбору.

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