Menu adicional

Obtenha o MemberPress hoje mesmo! Comece a ser pago pelo conteúdo que você cria! Obtenha o MemberPress agora
  1. Início
  2. Base de conhecimento
  3. Tópicos avançados
  4. Códigos personalizados
  5. Regras e redirecionamentos
  6. Adicionar redirecionamentos não autorizados específicos da regra
  1. Início
  2. Base de conhecimento
  3. Geral
  4. Proteção de conteúdo
  5. Adicionar redirecionamentos não autorizados específicos da regra

Adicionar redirecionamentos não autorizados específicos da regra

O MemberPress vem com o recurso integrado de redirecionamento não autorizado, que redirecionará automaticamente qualquer usuário não autorizado para o URL especificado nas configurações do MemberPress. Para saber mais sobre como configurar o redirecionamento não autorizado e usar esse recurso, consulte o documento a seguir: Usando o redirecionamento não autorizado.

Nos casos em que você precisar usar vários URLs de redirecionamento, será necessário usar um trecho de código personalizado, pois essa opção não está disponível por padrão. Este documento fornecerá o código personalizado e explicará como você pode usá-lo para definir diferentes URLs de redirecionamento não autorizados para regras específicas do MemberPress.

Como fazer isso?

A adição do trecho de código deste documento criará exceções às suas configurações de URL de redirecionamento não autorizado. Ou seja, cada redirecionamento baseado em regras definido com esse trecho de código criará uma exclusão de seu URL de redirecionamento não autorizado global (o "URL para direcionar visitantes não autorizados para") definida em Painel de controle > Configurações > MemberPress > guia Páginas. Esse URL de redirecionamento global será usado para todo o conteúdo protegido por outras regras.

Para adicionar um URL de redirecionamento a uma regra com base no ID da regra, você precisaria adicionar o seguinte código de filtro:

// Adicionar redirecionamento não autorizado com base no ID da regra MemberPress

add_filter( 'mepr-rule-redirect-unauthorized-url', function ( $redirect_url, $delim, $uri ) {
     $current_post = MeprUtils::get_current_post( );
     $rules = MeprRule::get_rules( $current_post );
     se ( !empty( $rules ) ) {
          $rule_ids = array_column($rules, 'ID');
          Se ( 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 ); /Isso precisa ser executado por último

O código acima é um exemplo que deve ser ajustado às suas necessidades. Mais adiante, explicaremos como você pode modificar o código.

Depois de modificado, você pode adicionar o snippet de código ao seu site na seção functions.php do seu tema filho. Como alternativa, você pode usar a opção Código WPC plugin. Consulte o documento a seguir para obter instruções passo a passo sobre Como adicionar snippets de código personalizados no WPCode.

Observação: Esse trecho de código não é compatível com as regras de URI personalizado.

Definir redirecionamento para cada regra

Para que esse código funcione em seu site, você precisa adicionar uma instrução IF do código de amostra para cada redirecionamento de cliente necessário.

Para ilustrar, a seguinte instrução IF redirecionará qualquer usuário não autorizado para o https://yourdomain.com/register/membership-1/ URL se tentarem visitar qualquer conteúdo protegido pela regra com o ID 101:

Se ( in_array( 101, $rule_ids ) {

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

A próxima instrução IF no código de amostra faz o mesmo para o conteúdo protegido pela regra com o ID 201, redirecionando os usuários para um URL diferente (https://yourdomain.com/register/membership-2/).

Dessa forma, você precisa copiar essa instrução IF e ajustá-la para cada regra para a qual você precisa de redirecionamento não global. Em cada instrução IF, você precisa ajustar os seguintes dados:

  • ID da regra:
Se ( in_array( 101, $rule_ids ) ) {
  • URL para o qual os usuários serão redirecionados:
$redirect_url = 'https://yourdomain.com/register/membership-1/';

Para encontrar os IDs das regras, navegue até Painel de controle > MemberPress > Regras. Você encontrará o ID de cada regra na coluna "ID". O URL de redirecionamento pode ser qualquer URL de seu site ou URL externo.

Observação: Lembre-se de que as instruções IF devem ser listadas em ordem de prioridade. O redirecionamento que deve ter precedência precisa ser listado primeiro.

Ajuda?

Isso não está funcionando como você acha que deveria, mesmo depois de seguir as instruções do vídeo? Sinta-se à vontade para nos enviar um
Ticket de suporte!

Este artigo foi útil?

Artigos relacionados

garota do computador

Obtenha o MemberPress hoje mesmo!

Comece a ser pago pelo conteúdo que você cria.