MemberPress tem um redirecionamento não autorizado que redireciona automaticamente o qualquer usuário não autorizado para o URL especificado nas configurações do MemberPress.
Se você precisar usar vários URLs de redirecionamento, precisará usar um snippet de código personalizado, pois essa opção não está disponível por padrão.
Este documento lhe fornecerá o código personalizado e explicará como você pode usá-lo para definir diferentes URLs de redirecionamento não autorizado 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 global de redirecionamento não autorizado. 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 ) {
global $post;
se ( $post ) {
$rules = MeprRule::get_rules( $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 );
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.
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.
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!