
В этой статье представлены фрагменты кода для
Все следующие фрагменты можно добавить с помощью плагина, такого как Code Snippets, или в файле functions.php дочерней темы.
Следующий фрагмент перенаправит пользователей без прав администратора после успешного входа на домашнюю страницу, тогда как администраторы будут перенаправлены на свою панель управления в /wp-admin.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php add_filter( 'login_redirect', 'my_login_redirect', 10, 3 ); /** * Redirect user after successful login. * * @param string $redirect_to URL to redirect to. * @param string $request URL the user is coming from. * @param object $user Logged user's data. * @return string */ function my_login_redirect( $redirect_to, $request, $user ) { // is there a user to check? if ( isset( $user->roles ) && is_array( $user->roles ) ) { // check for admins if ( in_array( 'administrator', $user->roles ) ) { // redirect them to the default place return $redirect_to; } else { return home_url(); } } else { return $redirect_to; } } |
Если вы хотите, чтобы вошедшие в систему пользователи (не являющиеся администраторами) были перенаправлены после успешного входа на определенную страницу, например «Welcome», замените
|
1 |
return home_url(); |
на вот этот код.
|
1 |
return site_url( '/welcome/' ); |
В вашем случае это может быть любая другая страница или любые другие настройки постоянных ссылок. Просто подставьте нужный вам адрес.
В задаче настройки, которую я недавно выполнял, требовалось перенаправить любого пользователя, который не вошел в систему, на страницу /sign-in (где присутствует форма входа).
Вот код для вышеизложенного:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php add_action( 'template_redirect', 'redirect_if_user_not_logged_in' ); function redirect_if_user_not_logged_in() { if ( is_admin() || is_user_logged_in() || is_page( array( 'sign-in', 'register' ) ) ) { // add whitelist here return; } nocache_headers(); wp_safe_redirect( site_url( '/sign-in/' ) ); exit; } |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<?php add_action( 'wp_login_failed', 'wpse_15633_redirectFailedLoginForm', 10, 2 ); /** * Check if the authentication of the supplied username and password has failed. * * @param string $username Username or email address * @param WP_Error $error A WP_Error object with the authentication failure details. */ function wpse_15633_redirectFailedLoginForm( $username, $error ) { $redirect_url = add_query_arg([ 'errors' => $error->get_error_code(), ], site_url( 'login', 'login_post' )); if ( wp_safe_redirect( $redirect_url ) ) { exit; } } add_filter( 'authenticate', 'wpse_15633_redirectMissingDataLoginForm', 10, 3 ); /** * Check if the login form is missing the username or password. * * @param WP_User $user Logged-in user * @param string $username Username or email address * @param string $password User password * @return WP_User */ function wpse_15633_redirectMissingDataLoginForm( $user, $username, $password ) { $errors = []; empty( trim( $password ) ) && $errors[] = 'password_empty'; empty( trim( $username ) ) && $errors[] = 'username_empty'; if ( ! empty( $errors ) ) { $redirect_url = add_query_arg([ 'errors' => join( ',', $errors ), ], site_url( 'login', 'login_post' ) ); if ( wp_safe_redirect( $redirect_url ) ) { exit; } } return $user; } |
Cloudflare окончательно заблокирован в РФ ещё летом 2025 года.
Функцию фильтрации ботов Cloudflare взял на себя российский антибот Killbot.
Принцип работы отличается от привычного, отслеживаются не знакомые всем при настройке других антибот решений параметры (входящие IP адреса, AS подсети ботов, User Agent и прочее, всё это легко подделывается), а уникальные для каждого набора браузеров слепки.
По отличию оригинального браузера от модифицированного, тот или иной заход определяется либо как заход реального посетителя, либо как заход бота.
Чтобы не повторяться - расписывал более подробно в статьях:
Попробовать бесплатно. При регистрации в Killbot введите промокод
promo13
и получите месяц тестирования платного тарифа Killbot (фильтрация трафика, 1000 руб) и Ads (отключение показа рекламы поведенческим ботам, 1000 руб) в качестве бонуса. Этого вам хватит на то, чтобы понять, подходит вам данное решение, или нет. На данный момент - в Рунете нет более достойной альтернативы, по соотношению цена-качество. Срок действия промокода ограничен по времени, куда-то записывать его нет смысла. В следующий раз промокод уже будет другой, поэтому использовать его нужно сейчас, когда вы читаете этот текст. Промокод действует только в форме регистрации. Если аккаунт уже создан - создайте новый, на другой почте, и при регистрации в последнем поле введите промокод.
Подпишитесь на Telegram канал / MAX для того, чтобы всегда быть в курсе последних новостей и обновленных настроек для защиты от ботов, а также оперативно получать новые материалы, выходящие на antibot24.ru

Автор статей: Сергей (AntiBot24). Эксперт в области фильтрации поведенческого трафика, настройки антибот систем. Высший рейтинг на Kwork, более 680 отзывов, 100% заказов успешно сдано, 56% повторных заказов. Пишу подробные статьи, инструкции по фильтрации ботов в своем блоге antibot24.ru
Всегда нужно иметь в виду, что те советы, которые вы прочли в статьях - это лишь часть настроек, которые я делаю при профессиональной экспертной настройке фильтрации поведенческих ботов. Все остальное - это непубличные профессиональные секреты. Любая информация, становящаяся общедоступной - достаточно быстро устаревает и перестает быть эффективной.
Если вы столкнулись с повышенной роботностью в Яндекс метрике, увеличением числа прямых заходов, увеличением количества отказов - вы всегда можете заказать у меня настройку Killbot.