Menú adicional

¡Consiga MemberPress hoy mismo! ¡Empieza a cobrar por los contenidos que creas! Obtenga MemberPress ahora
  1. Inicio
  2. Base de conocimientos
  3. Temas avanzados
  4. Códigos personalizados
  5. Normas y redireccionamientos
  6. Añadir redirecciones no autorizadas específicas de la regla MemberPress
  1. Inicio
  2. Base de conocimientos
  3. General
  4. Protección de contenidos
  5. Añadir redirecciones no autorizadas específicas de la regla MemberPress

Añadir redirecciones no autorizadas específicas de la regla MemberPress

MemberPress tiene un redireccionamiento no autorizado que redirige automáticamente cualquier usuario no autorizado a la URL especificada en la configuración de MemberPress.

Si necesita utilizar varias URL de redirección, deberá utilizar un fragmento de código personalizado, ya que esta opción no está disponible por defecto.

Este documento le proporcionará el código personalizado y le explicará cómo puede utilizarlo para establecer diferentes URL de redireccionamiento no autorizadas para reglas MemberPress específicas.

¿Cómo hacerlo?

Al añadir el fragmento de código de este documento se crearán excepciones a la configuración de URL de redireccionamiento no autorizadas.

Es decir, cada redirección basada en reglas establecida con este fragmento de código creará una exclusión de su URL de redirección global no autorizada. Esta URL de redirección global se utilizará para todos los contenidos protegidos por otras reglas.

Nota: El fragmento de código sólo funciona cuando la redirección global está activada y configurada en Panel de control > Configuración > MemberPress > Pestaña Páginas. Para ello, debe activar el Redirigir a los visitantes no autorizados a una URL específica opción. Además, debe añadir la URL de redirección a la carpeta URL para dirigir a visitantes no autorizados campo.

Para añadir una URL de redirección a una regla basada en el ID de la regla, tendría que añadir el siguiente código de filtro:

// Añadir redirección no autorizada basada en el ID de la regla MemberPress

add_filter( 'mepr-rule-redirect-unauthorized-url', function ( $redirect_url, $delim, $uri ) {
global $post;
if ( $post ) {
$rules = MeprRule::get_rules( $post );
if ( !empty( $rules ) ) {
$rule_ids = array_column($rules, 'ID');
if ( in_array( 101, $rule_ids ) ) {
$redirect_url = 'https://yourdomain.com/register/membership-1/';
} else if ( in_array( 201, $rule_ids ) ) {
$redirect_url = 'https://yourdomain.com/register/membership-2/';
}
}
}
return $redirect_url;
}, 999, 3 );

El código anterior es un ejemplo que debe ajustarse a sus necesidades. Más adelante explicaremos cómo puedes modificar el código.

Una vez modificado, puede añadir el fragmento de código a su sitio web en la sección funciones.php de su tema hijo. Como alternativa, puede utilizar el archivo WPCode plugin. Consulte el siguiente documento para obtener instrucciones paso a paso sobre Cómo añadir fragmentos de código personalizados en WPCode.

Nota: Este fragmento de código no es compatible con las reglas URI personalizadas.

Establecer redirección para cada regla

Para que este código funcione en su sitio, necesita añadir una sentencia IF del código de ejemplo para cada redirección de cliente que necesite.

A modo de ejemplo, la siguiente sentencia IF redirigirá a cualquier usuario no autorizado a la carpeta https://yourdomain.com/register/membership-1/ URL si intentan visitar cualquier contenido protegido por la regla con el ID de 101:

if ( in_array( 101, $rule_ids ) ) {

$redirect_url = 'https://yourdomain.com/register/membership-1/';

La siguiente sentencia IF en el código de ejemplo hace lo mismo para el contenido protegido por la regla con el ID 201, redirigiendo a los usuarios a una URL diferente (https://yourdomain.com/register/membership-2/).

En consecuencia, debe copiar esta sentencia IF y ajustarla para cada regla para la que necesite una redirección no global. Dentro de cada sentencia IF, debe ajustar los siguientes datos:

  • Regla ID:
if ( in_array( 101, $rule_ids ) ) {
  • URL a la que se redirigirá a los usuarios:
$redirect_url = 'https://yourdomain.com/register/membership-1/';

Para encontrar los ID de las reglas, navegue hasta Panel de control > MemberPress > Normas. Encontrará el ID de cada regla en la columna "ID". La URL de redirección puede ser cualquier URL de su sitio o URL externa.

Nota: Tenga en cuenta que las declaraciones IF deben enumerarse por orden de prioridad. La redirección que debe tener prioridad debe aparecer en primer lugar.

¿Ayuda?

¿No funciona como crees que debería incluso después de seguir las instrucciones del vídeo? No dudes en enviarnos un
Ticket de asistencia!

¿Le ha resultado útil este artículo?

Artículos relacionados

chica del ordenador

¡Consiga MemberPress hoy mismo!

Empieza a cobrar por los contenidos que creas.