Cómo redirigir usuarios en WordPress

Publicado: 2018-08-08

Las redirecciones son una parte estándar de los sitios web, complementos y temas. Algunos están sucediendo justo frente a los ojos y es posible que ni siquiera se dé cuenta de lo que está sucediendo en la parte de atrás.

Aunque las redirecciones generalmente se dejan para los desarrolladores, le mostraremos varios consejos que le permitirán hacer esa tarea por su cuenta.

Cómo redirigir roles de usuario específicos después de un inicio de sesión exitoso

En esta parte del artículo, le mostraremos un código que puede modificar y controlar fácilmente dónde aterriza un determinado usuario después de iniciar sesión correctamente en su sitio web con WordPress.

De forma predeterminada, WordPress llevará a todos los usuarios al panel de control y eso podría ser un problema para algunos de ustedes. Tal vez desee mantener a sus administradores y autores en el backend mientras desea llevar a sus otros usuarios directamente a su página de inicio o tal vez a otra página de frontend que haya creado específicamente para ellos.

Para redirigir a los usuarios según sus roles, siga los siguientes pasos:

  1. Abrir archivo functions.php
  2. Copia y pega el siguiente código:
 función my_login_redirect ($ url, $ solicitud, 
$ usuario) {if ($ usuario && is_object ($ usuario) && 
is_a ($ usuario, 'WP_User')) {
if ($ usuario-> has_cap ('administrador') o 
$ usuario-> has_cap ('autor')) {
$ url = admin_url ();
} demás {
$ url = home_url ('/ página-personalizada /');
}
}
return $ url;
}
add_filter ('login_redirect', 
'my_login_redirect', 10, 3);
  1. Guardar cambios

El código que se muestra arriba dejará a los administradores justo donde deben estar: el panel de administración, mientras que todos los demás usuarios serán llevados a una página personalizada.

Usted puede cambiar fácilmente las direcciones URL cambiando la variable $ url en la y la línea y por lo tanto conducir a sus usuarios a cualquier puestos / páginas que ha creado para ellos.

Si desea controlar los roles de los usuarios, puede hacerlo fácilmente en la tercera línea del código. En el ejemplo anterior, hemos dejado administradores y autores en el panel de administración. Si solo desea administradores allí, simplemente elimine a los autores de la imagen:

 if ($ usuario-> has_cap ('administrador')) {

En lugar de eliminar autores, también puede agregar otros roles; Depende de usted decidir quién terminará en qué página.

Eso es todo. Con este código, no necesita ningún complemento para controlar las redirecciones después de que un usuario inicia sesión. Si aún no desea cambiar el código, vea cómo redirigir a los usuarios después de iniciar sesión con un complemento.

Redirigir a los usuarios después de iniciar sesión con el complemento de redirección de inicio de sesión de Peter

Si bien puede redirigir rápidamente a los usuarios después de iniciar sesión colocando un código que le mostramos anteriormente, esta no es la mejor opción para aquellos que no están interesados ​​en la codificación. Además, si desea tener más control sobre las redirecciones, deberá saber cómo modificar el código.

En lugar de modificar el código, le mostraremos un complemento que hará el trabajo sucio por usted . Todo lo que tiene que hacer es decidir qué usuario va a dónde, hacer clic en algunas casillas de verificación y pegar las URL mientras que el complemento se encargará del resto.

Redireccionamiento de inicio de sesión de Peter

Aunque hay innumerables complementos de WordPress diseñados para hacer lo mismo, hemos elegido la redirección de inicio de sesión de Peter para esta parte del artículo.

Este complemento le permitirá elegir usuarios en función de sus nombres, roles de usuario e incluso capacidades de usuario y simplemente pegar la URL a la que serán redirigidos los usuarios después de iniciar sesión. Es posible incluso elegir otra página si desea redirigir a ese usuario o grupo de usuarios después de cerrar la sesión. Además, puede elegir una URL separada que se utilizará como página de destino para cualquier usuario una vez que se registre.

Si eso no es suficiente para usted y desea mejorar aún más sus redirecciones, Peter's Login Redirect lo cubrió. Si, por ejemplo, ha creado una página específica para cada usuario, puede generar la URL directamente desde el complemento. En ese caso, un simple shortcode descrito en el complemento será suficiente para ingresar el nombre de usuario del usuario y así llevar a ese usuario en particular a su página específica.

Al final, hay pocas opciones de complementos que pueden ayudarlo a controlar aún más el comportamiento del complemento. Puede configurar el complemento para usar solo un tipo de URL y, por ejemplo, permitir que solo se usen enlaces internos, controlar las redirecciones POST y GET, usar un archivo de redirección externo si es necesario y elegir quién puede controlar este complemento eligiendo niveles de permiso .

Si necesita administrar las redirecciones de inicio de sesión, cierre de sesión y registro, Peter's Login Redirect le proporcionará prácticamente todo lo que necesita. Oh, sí, ¿hemos mencionado que el complemento es gratuito? Puede obtenerlo del repositorio de complementos de WordPress e instalarlo en segundos, después de lo cual todo lo que tiene que hacer es navegar a Configuración -> Redirecciones de inicio de sesión / cierre de sesión .

Cómo redirigir a un usuario de WordPress después de cerrar la sesión

De forma predeterminada, cuando un usuario cierra sesión en un sitio web de WordPress, volverá a la página de inicio de sesión. Se mostrará un mensaje que notifica al usuario sobre el cierre de sesión exitoso y el resto de la navegación se deja a los usuarios.

Pero, ¿qué sucede si desea que sus usuarios sean redirigidos automáticamente a su página de inicio, las páginas de discusión que desea que vean o cualquier otra página de interés? ¿Quizás desee crear una página de cierre de sesión diferente que contenga widgets especiales o lleve a sus usuarios a otro lugar? Si es así, necesitará este pequeño código para que todo suceda.

En las siguientes líneas, vamos a mostrarle cómo redirigir fácilmente a un usuario a cualquier URL que desee. Si no desea utilizar el código para las redirecciones, estamos a punto de mostrarle un complemento simple que hará todo eso por usted. Pero antes de eso, redirigamos a un usuario a la página de inicio:

  1. Abrir archivo functions.php
  2. Copia y pega el siguiente código:
 add_action ('wp_logout', 'auto_redirect_after_logout');
function auto_redirect_after_logout () {
wp_redirect (home_url ());
Salida();
}
  1. Guardar cambios
  2. Sal y disfruta de tu hermosa página de inicio

Es así de simple. Como puede adivinar por el código, puede redirigir a un usuario a cualquier otra URL cambiando la tercera línea . Por lo tanto, si desea llevar a sus usuarios a otra página de su propio sitio o a cualquier página externa, su código debería verse así:

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

Si desea hacer más con la función wp_redirect, puede obtener más información al respecto en las páginas del Codex de WordPress.

Redireccionamiento de inicio de sesión y cierre de sesión

PRECIO: Gratis

Redirecciones de inicio de sesión y cierre de sesión


Este complemento gratuito es relativamente simple y hará su trabajo a la perfección. En lugar de lidiar con el código, la redirección de inicio de sesión y cierre de sesión creará un segmento adicional en la página de configuración. Después de instalarlo y activarlo, debe navegar a Configuración -> General y desplazarse hasta el final de la página . Aquí encontrará cuadros de entrada separados para las redirecciones de inicio de sesión y cierre de sesión. Ingrese las URL deseadas, guarde los cambios y ¡listo!

Si necesita más opciones de redireccionamiento para su sitio web de WordPress, le sugerimos que marque el complemento 5sec Redirect que puede ayudarlo a redirigir cualquier publicación, página, categoría, etiqueta o URL personalizada. Le permitirá ocultar sus URL, lo que puede ser una gran cosa para ocultar enlaces de afiliados o cualquier URL de sus visitantes. El complemento también le muestra estadísticas sobre cada enlace redirigido para que sepa lo que está sucediendo en el sitio.

Redirigir a los usuarios después de dejar un comentario

Cuando comiences a publicar artículos, querrás que la gente los comente, por supuesto. En esta parte de la guía, vamos a mostrarle cómo redirigir a un usuario después de enviar un comentario.

Esta función puede resultarle útil en situaciones específicas. Por ejemplo, es posible que desee crear una página personalizada de "agradecimiento" para un sorteo que está organizando . Por lo tanto, cuando los visitantes participan en un sorteo dejando un comentario, puede redirigirlos fácilmente a esa página de "agradecimiento" donde puede proporcionar información adicional sobre los premios.

En realidad, existen muchas razones diferentes para redirigir a un usuario después de dejar un comentario, así que sin más preámbulos, esto es lo que debe hacer para automatizar el proceso.

Redirigir al usuario después de enviar un comentario:

  1. Abrir archivo functions.php
  2. Copie y pegue este código en el archivo:
 function redirect_after_comment () {
wp_redirect ('/ gracias /');
Salida();
}
add_filter ('comment_post_redirect', 
'redirect_after_comment');
  1. Cambiar el nombre de la página en la línea
  2. Guardar cambios

Eso es todo. Ahora puede continuar y probar la función. Abra cualquiera de sus publicaciones y deje un comentario. Si ha hecho todo correctamente, debería terminar en la página http: /www.yoursite.com/thank-you o en la que se especifica en la segunda línea de su código.

Página de agradecimiento

No olvide agradecer a las personas por comentar, pero tampoco olvide que desea que sus visitantes permanezcan en el sitio y continúen navegando. Una buena idea podría ser agregar una lista de sus publicaciones recientes o más populares, o tal vez incluso mejor, enumerar todas las publicaciones relacionadas que podrían ser de interés para un comentarista. Si tiene una lista de correo, este es un buen lugar para ofrecer una suscripción.

Si bien esta función ofrece una forma fácil y rápida de redirigir a los usuarios después de que dejan un comentario, es posible que le interese un complemento que le brinde algunas características adicionales.

Redirigir a los usuarios después de la búsqueda si solo se encontró un resultado

La función de búsqueda es imprescindible si se trata de una gran cantidad de artículos. Si escribe a diario, imagine la cantidad de artículos distribuidos en diferentes categorías. Si publica solo tres artículos cortos por día, habrá más de mil títulos diferentes en su base de datos después del primer año. Ahora imagínese que llega al sitio por primera vez mientras busca algo específico; querrá buscarlo.

De forma predeterminada, WordPress buscará títulos de publicaciones, etiquetas y, por supuesto, el contenido. Por lo tanto, si busca una palabra o una frase específica, probablemente encontrará docenas de publicaciones y páginas que contienen la consulta. Pero, ¿y si solo hubiera un resultado de búsqueda?

Si alguien estaba buscando una frase muy específica o una oración completa, es probable que solo haya unos pocos o quizás solo un resultado. Si solo se encuentra un resultado, redirigir a un usuario a la página de resultados de búsqueda es bastante innecesario . En cambio, ¿por qué no llevarías a ese usuario directamente a la publicación / página que se encuentra en el resultado?

Veamos cómo hacer eso:

  1. Funciones abiertas.php
  2. Copie este código y péguelo al final del archivo:
 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-> publicaciones ['0'] -> ID));
Salida;
}
}
}
  1. Guardar cambios

Ha preparado su WordPress para la nueva funcionalidad. Después de haber guardado los cambios, cada vez que un usuario busca algo que arrojará solo un resultado, ese usuario será redirigido directamente a la publicación / página.

Incluso si no parece mucho, estamos seguros de que agradarás a tus visitantes por haberlos guardado con solo hacer clic en un botón. Guardar un clic aquí y otro allí resultará en una mejor experiencia de usuario y eso es probablemente algo que desea en su sitio web, ¿no es así?

Redirigir a los usuarios cuando solo se encuentra una publicación en una categoría

En lugar de abrir una página de categoría o etiqueta que contiene solo un resultado, puede redirigir a ese usuario directamente a la publicación / página. Como ocurre con la mayoría de nuestros fragmentos de código, bastará con copiar y pegar el código:

Redirigir a un usuario si solo había una publicación en una categoría o una etiqueta:

  1. Abrir archivo functions.php
  2. Copia y pega el siguiente código:
 function redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
el cargo();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
} add_action ('template_redirect', 'redirect_to_post');
  1. Guardar cambios

Una vez que haya terminado con el código y haya guardado los cambios, puede probar la función abriendo una página de categoría o etiqueta que contenga solo una publicación / página. En lugar de abrir una página donde solo se muestra esa publicación / página, se le redirigirá directamente a la publicación . Impresionante, ¿no es así?

Dado que algunos usuarios pueden confundirse con esto, sería una buena idea incluir un mensaje personalizado que les diga a los usuarios que solo se encontró un resultado y que se produjo la redirección. Si desea hacer eso, puede dejar el mensaje en la parte superior de la publicación / página a la que se redirigió al usuario insertando una simple declaración de "eco". En ese caso, su código se vería así:

 function redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
el cargo();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
echo "Como solo se encontró un resultado, 
¡ha sido redirigido a esta publicación / página! ";
}
add_action ('template_redirect', 'redirect_to_post');

Ahora que incluso se ha implementado un mensaje, ya está listo y no tendrá que ocuparse de esas categorías y etiquetas que contienen solo una publicación / página. Pero no permita que esta función sea una excusa para no escribir nuevos artículos en la categoría.

Redirigir a los usuarios a una página aleatoria en WordPress

Es posible que esta no sea una característica estándar de todos los sitios web de WordPress, pero seguro que puede ser una herramienta divertida para tener en algún lugar de su sitio. Si escribe mucho o tal vez tiene numerosas galerías, puede terminar teniendo miles de páginas que un usuario promedio no podrá ver . Entonces, ¿por qué no haría las cosas un poco más interesantes al redirigir a un usuario a una publicación aleatoria?

De acuerdo, no redirigirá a un usuario a una publicación aleatoria sin su conocimiento o lo hará en la página de inicio, por supuesto. Pero puede crear un botón o enlace simple en el que un usuario puede hacer clic, después de lo cual será llevado a otra página de su sitio. Quizás sea una galería. Quizás un editorial genial que escribiste hace años. Quién sabe. Puede ser divertido.

Empecemos:

  1. Primero debe preparar su enlace de redireccionamiento. Abra su archivo functions.php
  2. Copia y pega el siguiente código:
 add_action ('init', 'random_add_rewrite');
function random_add_rewrite () {
global $ wp;
$ wp-> add_query_var ('aleatorio');
add_rewrite_rule ('aleatorio /?
  1. Guardar cambios
  2. Vaya a www.yourdomain.com/?random=1

, 'index.php? random = 1', 'top'); } add_action ('template_redirect', 'random_template'); function random_template () {if (get_query_var ('random') == 1) {$ publicaciones = get_posts ('post_type = post & orderby = rand & numberposts = 1'); foreach ($ publicaciones como $ publicación) {$ enlace = get_permalink ($ publicación); } wp_redirect ($ enlace, 307); Salida; }}

Después de esto, estará listo para crear su enlace / botón. Todo lo que tiene que hacer es enlazar a http://www.yourdomain.com/?random=1 y cada vez que un usuario abre la página, será redirigido a una página aleatoria. Disfrute de su nueva función.

Redirigiéndote a la conclusión

Tarde o temprano, querrá redirigir a usuarios específicos en situaciones específicas. Ya sea que haya una buena razón para eso y esté tratando de hacer que sus visitantes compren algo o simplemente desee que el proceso de inicio de sesión sea más cómodo, este tutorial lo ayudará a administrar las redirecciones.

Si se siente lo suficientemente cómodo con la codificación, podrá mejorar esto y redirigir a los usuarios en diferentes situaciones también. Si no es así, esperamos que estos ejemplos sean suficientes para cubrir sus necesidades.