Recentemente, precisei criar uma função em um site WordPress onde determinados conteúdos só seriam exibidos para os usuários caso eles estivessem logados.
Achei esta função muito interessante, pois é útil em diversas situações. Por exemplo:
- Exibir preço de produtos do WooCommerce apenas para usuários logados
- Esconder formulários de contato de usuários que não fizeram login
- Incentivar os usuários a se cadastrarem eu seu site para ver determinados conteúdos
- Etc…
A função não é nada de outro mundo. Qualquer programador que tenha um conhecimento mínimo da funcionalidade do WordPress conseguirá criar algo assim.
Função + Shortcode para usuários logados no WordPress
Para exibir determinado conteúdo para o usuário apenas se ele estiver logado, será necessário alterar o arquivo functions.php do seu tema no WordPress.
O arquivo functions.php está localizado no seguinte caminho: wp-content/themes/seutema/functions.php
Adicione a função abaixo ao final do seu functions.php:
function check_user ($params, $content = null){ //verifica se o usuario esta logado if ( is_user_logged_in() ){ //se sim, exiba variavel content return $content; } else{ //se não, não retorna nada return; } } //adiciona shortcode add_shortcode('fezlogin', 'check_user' );
Agora, para exibir o conteúdo apenas para usuários logados, basta usar o shortcode abaixo:
[fezlogin]Adicione aqui qualquer conteúdo que deseja exibir para usuários logados[/fezlogin]
Vale lembrar que você pode usar o shortcode dentro de posts, páginas e até mesmo mesclar com PHP diretamente dentro dos arquivos do seu tema, plugins e arquivos base do WordPress.
Função + shortcode para exibir conteúdo para usuários não logados no WordPress
Também já me deparei, anteriormente, em situações que deveria exibir conteúdo para usuários que não estivessem logados no wordpress.
A função é basicamente a mesma, conforme abaixo:
function check_user ($params, $content = null){ //verifica se o usuário está logado if ( is_user_logged_in() ){ //se o usuário estiver logado, não retorna nada return; } else{ //se o usuário estiver logado, retorna o conteúdo return $content; } } //criação do shortcode add_shortcode('naologado', 'check_user' );
Agora, para exibir o conteúdo apenas para usuários logados, basta usar o shortcode abaixo:
[naofezlogin]Adicione aqui qualquer conteúdo que deseja exibir para usuários não logados[/naofezlogin]
Exemplo de aplicação
Ao final da criação de suas funções, você pode testá-las assim:
[naofezlogin]Você não fez login, por isso está vendo esta mensagem![/naofezlogin] [fezlogin]Você fez login, por isso está vendo esta mensagem![/fezlogin]
Por hoje é só! Se você tiver alguma dúvida, deixe seu comentário abaixo.
Não se esqueça de curtir nossa página no Facebook e nos seguir no Google.
Estamos sempre publicando novas dicas de WordPress 😉