WordPress

Перенаправляйте пользователей WordPress в разных ситуациях

Перенаправляйте пользователей WordPress в разных ситуациях

Перенаправления – это стандартная часть веб-сайтов, плагинов и тем. Некоторые из них происходят прямо на глазах, и вы можете даже не осознавать, что происходит сзади.

Хотя перенаправления обычно оставляют разработчикам, мы собираемся показать вам несколько советов, которые позволят вам:

Как перенаправить определенные роли пользователей после успешного входа в систему

В этой части статьи мы покажем вам код, который вы можете легко изменить и контролировать, куда попадает определенный пользователь после успешного входа на ваш сайт на WordPress.

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

Чтобы перенаправить пользователей в зависимости от их ролей, выполните следующие действия:

  1. Откройте файл functions.php
  2. Скопируйте и вставьте следующий код:
function my_login_redirect( $url, $request, $user ){ if( $user && is_object( $user) && is_a( $user, 'WP_User') ) { if( $user->has_cap( 'administrator') or $user->has_cap( 'author')) { $url = admin_url(); } else { $url = home_url('/custom-page /'); } } return $url; } add_filter('login_redirect', 'my_login_redirect', 10, 3 );
  1. Сохранить изменения

Приведенный выше код оставит администраторов там, где они должны быть – в панели администратора, а все остальные пользователи будут перенаправлены на настраиваемую страницу.

Вы можете легко изменить URL-адреса, изменив переменную $ url в 4- й и 6- й строках, и, следовательно, направить ваших пользователей к любым сообщениям / страницам, которые вы для них создали.

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

if( $user->has_cap( 'administrator') ) {

Вместо удаления авторов вы можете добавить и другие роли; Вам решать, кто окажется на какой странице.

Вот и все. С этим кодом вам не нужен какой-либо плагин для управления перенаправлением после входа пользователя в систему. Если вы все еще не хотите изменять код, посмотрите, как перенаправить пользователей после входа в систему с помощью плагина.

Перенаправляйте пользователей после входа в систему с помощью плагина Peter’s Login Redirect

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

Вместо того, чтобы изменять код, мы покажем вам плагин, который сделает за вас всю грязную работу. Все, что вам нужно сделать, это решить, какой пользователь куда идет, установить несколько флажков и вставить URL-адреса, а плагин позаботится обо всем остальном.

Перенаправляйте пользователей WordPress в разных ситуациях

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

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

Если вам этого недостаточно и вы хотите еще больше улучшить свои перенаправления, Peter’s Login Redirect поможет вам. Если вы, например, создали определенную страницу для каждого пользователя, вы можете сгенерировать URL-адрес прямо из плагина. В этом случае простого короткого кода, описанного в плагине, будет достаточно, чтобы ввести имя пользователя и, таким образом, привести этого конкретного пользователя на его / ее конкретную страницу.

В конце концов, есть несколько вариантов плагина, которые могут помочь вам в дальнейшем контролировать поведение плагина. Вы можете настроить плагин на использование только одного типа URL-адресов и, например, разрешить использование только внутренних ссылок, управлять перенаправлениями POST и GET, при необходимости использовать внешний файл перенаправления и выбирать, кто может управлять этим плагином, выбирая уровни разрешений. .

Если вам нужно было управлять переадресацией входа, выхода и регистрации, Peter’s Login Redirect предоставит вам практически все, что вам нужно. О да, мы упоминали, что плагин бесплатный? Вы можете получить его из репозитория плагинов WordPress и установить через несколько секунд, после чего все, что вам нужно сделать, это перейти в Настройки -> Перенаправления для входа / выхода .

Как перенаправить пользователя WordPress после выхода из системы

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

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

В следующих нескольких строках мы собираемся показать вам, как легко перенаправить пользователя на любой URL-адрес, который вы хотите. Если вы не хотите использовать код для перенаправления, мы собираемся показать вам простой плагин, который сделает все это за вас. Но перед этим перенаправим пользователя на домашнюю страницу:

  1. Откройте файл functions.php
  2. Скопируйте и вставьте следующий код:
add_action('wp_logout','auto_redirect_after_logout'); function auto_redirect_after_logout(){ wp_redirect( home_url() ); exit(); }
  1. Сохранить изменения
  2. Выйдите из системы и наслаждайтесь красивой домашней страницей

Это просто. Как вы можете догадаться из кода, вы можете перенаправить пользователя на любой другой URL-адрес, изменив третью строку. Итак, если вы хотите направить своих пользователей на другую страницу вашего собственного сайта или на любую внешнюю страницу, ваш код должен выглядеть примерно так:

add_action('wp_logout','auto_redirect_after_logout'); function auto_redirect_after_logout(){ wp_redirect( 'http://www.firstsiteguide.com'); exit(); }

Если вы хотите сделать больше с функцией wp_redirect, вы можете узнать больше о ней на страницах WordPress Codex.

Перенаправление входа и выхода

ЦЕНА: Бесплатно


Перенаправляйте пользователей WordPress в разных ситуациях
Этот бесплатный плагин относительно прост и отлично справится со своей задачей. Вместо того, чтобы работать с кодом, перенаправление входа и выхода создаст дополнительный сегмент на странице настроек. После установки и активации вам нужно перейти в Настройки -> Общие и прокрутить до конца страницы. Здесь вы найдете отдельные поля ввода для перенаправления входа и выхода. Введите желаемые URL-адреса, сохраните изменения, и все готово!

Если вам нужны дополнительные параметры перенаправления для вашего веб-сайта WordPress, мы рекомендуем вам проверить плагин 5sec Redirect, который может помочь вам перенаправить любую запись, страницу, категорию, тег или пользовательский URL. Это позволит вам скрыть свои URL-адреса, что может быть отличным средством для сокрытия партнерских ссылок или любых URL-адресов от посетителей. Плагин также показывает статистику по каждой перенаправленной ссылке, чтобы вы знали, что происходит на сайте.

Когда вы начнете публиковать статьи, вы, конечно, захотите, чтобы люди их комментировали. В этой части руководства мы собираемся показать вам, как перенаправить пользователя после отправки комментария.

Эта функция может пригодиться вам в определенных ситуациях. Например, вы можете захотеть создать специальную страницу с «благодарностью» для организованной вами раздачи. Итак, когда посетители участвуют в розыгрыше призов, оставляя комментарий, вы можете легко перенаправить их на страницу с благодарностью, где вы можете предоставить дополнительную информацию о призах.

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

Перенаправить пользователя после отправки комментария:

  1. Откройте файл functions.php
  2. Скопируйте и вставьте этот код в файл:
function redirect_after_comment(){ wp_redirect('/thank-you/'); exit(); } add_filter('comment_post_redirect', 'redirect_after_comment');
  1. Измените название страницы на 2- й строке
  2. Сохранить изменения

Вот и все. Теперь вы можете продолжить и протестировать функцию. Откройте любой из ваших постов и оставьте комментарий. Если вы все сделали правильно, вы должны оказаться на странице http: /www.yoursite.com/thank-you или на странице, указанной во второй строке вашего кода.

Перенаправляйте пользователей WordPress в разных ситуациях

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

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

Перенаправлять пользователей после поиска, если найден только один результат

Функциональность поиска необходима, если вы имеете дело с большим количеством статей. Если вы пишете каждый день, представьте, сколько статей разбросано по разным категориям. Если вы публикуете только три короткие статьи в день, по истечении первого года в вашей базе данных будет более тысячи различных заголовков. А теперь представьте, что вы впервые заходите на сайт в поисках чего-то конкретного – вам захочется поискать это.

По умолчанию WordPress будет искать заголовки сообщений, теги и, конечно же, контент. Таким образом, при поиске слова или определенной фразы он, вероятно, найдет десятки сообщений и страниц, содержащих запрос. Но что, если результат поиска был только один?

Если кто-то искал очень конкретную фразу или целое предложение, скорее всего, будет только несколько или, может быть, только один результат. Я е есть только один результат найден, перенаправляет пользователя на страницу результатов поиска совсем не нужно. Вместо этого, почему бы вам не направить этого пользователя прямо к сообщению / странице, найденному в результате?

Посмотрим, как это сделать:

  1. Откройте functions.php
  2. Скопируйте этот код и вставьте его в конец файла:
add_action('template_redirect', 'redirect_search_result); function redirect_search_result() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID) ); exit; } } }
  1. Сохранить изменения

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

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

Перенаправлять пользователей, когда в категории найдено только одно сообщение

Вместо того, чтобы открывать страницу категории или тега, которая содержит только один результат, вы можете перенаправить этого пользователя непосредственно на сообщение / страницу. Как и в случае с большинством наших фрагментов кода, достаточно просто скопировать и вставить код:

Перенаправить пользователя, если в категории или теге был только один пост:

  1. Откройте файл functions.php
  2. Скопируйте и вставьте следующий код:
function redirect_to_post(){ global $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ the_post(); $post_url = get_permalink(); wp_redirect( $post_url ); } } add_action('template_redirect', 'redirect_to_post');
  1. Сохранить изменения

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

Так как некоторых пользователей это может смутить, было бы неплохо включить настраиваемое сообщение, которое сообщит пользователям, что был найден только один результат и что произошло перенаправление. Если вы хотите сделать это, вы можете оставить сообщение вверху сообщения / страницы, на которую был перенаправлен пользователь, вставив простой оператор «echo». В этом случае ваш код будет выглядеть так:

function redirect_to_post(){ global $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ the_post(); $post_url = get_permalink(); wp_redirect( $post_url ); } echo "Since there was only one result found, you have been redirected to this post/page!"; } add_action('template_redirect', 'redirect_to_post');

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

Перенаправлять пользователей на случайную страницу в WordPress

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

Хорошо, вы не будете перенаправлять пользователя на случайное сообщение без его ведома или, конечно, делать это на домашней странице. Но вы можете создать простую кнопку или ссылку, по которой пользователь может щелкнуть, после чего он будет перенаправлен на другую страницу вашего сайта. Может это галерея. Может быть, классная передовая статья, которую вы написали много лет назад. Кто знает. Это может быть весело.

Давайте начнем:

  1. Сначала вам нужно подготовить ссылку для перенаправления. Откройте ваш файл functions.php
  2. Скопируйте и вставьте следующий код:
add_action('init','random_add_rewrite'); function random_add_rewrite() { global $wp; $wp->add_query_var('random'); add_rewrite_rule('random/?$', 'index.php?random=1', 'top'); } add_action('template_redirect','random_template'); function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($posts as $post) { $link = get_permalink($post); } wp_redirect($link,307); exit; } }
  1. Сохранить изменения
  2. Перейдите на www.yourdomain.com/?random=1.

После этого вы готовы создать свою ссылку / кнопку. Все, что вам нужно сделать, это ссылка на http://www.yourdomain.com/?random=1, и каждый раз, когда пользователь открывает страницу, он будет перенаправлен на случайную страницу. Наслаждайтесь своей новой функцией.

Перенаправляем вас к заключению

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

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

Источник записи: https://firstsiteguide.com

Похожие сообщения
WordPressWordPress темы

20+ лучших женских тем WordPress 2020

WordPress

Как исправить ошибку загрузки изображения WordPress

WordPress

Как узнать какую тему использует сайт на WordPress? (3 быстрых способа)

WordPress

Разница между сообщениями и страницами в WordPress