PMPRO: Shortcode para Informações de Assinaturas

Este snippet cria um shortcode [custom_membership_info] que exibe informações detalhadas sobre as assinaturas ativas de um usuário logado no WordPress, utilizando o plugin Paid Memberships Pro.

0
				
					/**
 * Shortcode para exibir informações de assinaturas personalizadas com containers <div> e classes CSS.
 *
 * Exemplo de uso: [custom_membership_info]
 */
function wp24h_membership_info_shortcode() {
    // Verifica se o usuário está logado
    if ( ! is_user_logged_in() ) {
        return '<div class="custom-membership-info">Você precisa estar logado para ver esta informação.</div>';
    }

    // Obtém as informações do usuário
    $user_id = get_current_user_id();

    // Verifica se o usuário tem uma associação ativa
    if ( function_exists( 'pmpro_getMembershipLevelsForUser' ) ) {
        $mylevels = pmpro_getMembershipLevelsForUser( $user_id );

        if ( ! empty( $mylevels ) ) {
            // Loop personalizado para exibir as informações de associação
            ob_start();
            echo '<div class="custom-membership-info">';
            echo '<h3>Suas Assinaturas:</h3>';
            foreach ( $mylevels as $level ) {
                echo '<div class="membership-level">';
                echo '<div class="membership-field membership-name"><strong>Nível de Assinatura:</strong> ' . esc_html( $level->name ) . '</div>';
                echo '<div class="membership-field membership-description"><strong>Descrição:</strong> ' . esc_html( $level->description ) . '</div>';
                echo '<div class="membership-field membership-startdate"><strong>Início:</strong> ' . esc_html( date( 'd/m/Y', $level->startdate ) ) . '</div>';
                echo '<div class="membership-field membership-enddate"><strong>Expira em:</strong> ' . ( $level->enddate ? esc_html( date( 'd/m/Y', $level->enddate ) ) : 'Assinatura vitalícia' ) . '</div>';
                echo '</div>';
            }
            echo '</div>';
            return ob_get_clean();
        } else {
            return '<div class="custom-membership-info">Você não possui uma assinatura ativa.</div>';
        }
    } else {
        return '<div class="custom-membership-info">O plugin Paid Memberships Pro não está ativo.</div>';
    }
}
add_shortcode( 'custom_membership_info', 'wp24h_membership_info_shortcode' );

				
			

Quer ajuda de um especialista para implementar?

Instruções de Uso

Depois de adicionar o código acima ao seu arquivo functions.php ou a um plugin de snippets PHP, você pode usar o shortcode [custom_membership_info] em qualquer página ou post do seu site WordPress para exibir as informações das assinaturas do usuário logado.

Explicação do Código

  1. Verificação de Login:
    • A função is_user_logged_in() verifica se o usuário está logado.
    • Se o usuário não estiver logado, uma mensagem é retornada informando que ele precisa estar logado para ver a informação.
  2. Obtenção de Informações de Associação:
    • A função pmpro_getMembershipLevelsForUser() obtém os níveis de associação do usuário.
    • Se o usuário tiver associações ativas, um loop é usado para exibir as informações de cada nível de associação dentro de containers <div> com classes CSS apropriadas.
  3. Estrutura HTML com Classes CSS:
    • Cada nível de associação é encapsulado em um <div> com a classe membership-level.
    • Cada campo de informação (nome, descrição, data de início, data de expiração) é encapsulado em um <div> com a classe membership-field e uma classe específica para o campo (por exemplo, membership-name, membership-description).

Estilizando com CSS

Você pode adicionar o seguinte CSS ao seu arquivo style.css do tema ou ao Customizador de CSS do WordPress (Aparência -> Personalizar -> CSS Adicional) para estilizar as informações exibidas pelo shortcode:

.custom-membership-info {
font-family: Arial, sans-serif;
background-color: #f9f9f9;
padding: 20px;
border: 1px solid #ddd;
border-radius: 5px;
margin-bottom: 20px;
}

.custom-membership-info h3 {
color: #333;
margin-bottom: 15px;
}

.membership-level {
margin-bottom: 20px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 3px;
}

.membership-field {
margin-bottom: 10px;
}

.membership-field strong {
color: #0073aa;
}

Exemplo de Uso

  1. Adicionar o Shortcode a uma Página ou Post:
    • No editor de páginas ou posts do WordPress, adicione o shortcode [custom_membership_info] onde você deseja exibir as informações de assinatura.
  2. Adicionar CSS ao Customizador:
    • Vá para Aparência -> Personalizar -> CSS Adicional.
    • Cole o CSS fornecido acima e clique em “Publicar”.

Outros Snippets

WooCommerce
Este snippet cria um shortcode que exibe os detalhes de uma reserva do WooCommerce com base no ID do pedido fornecido na URL.
WordPress
Este snippet redireciona todos os visitantes do site que não estejam logados para uma página específica (não a página de login).
WordPress
Este snippet redireciona todos os visitantes do site que não estejam logados para a página de login do WordPress. Isso é útil se você deseja restringir o acesso ao conteúdo do seu site apenas para usuários autenticados.

Últimos Posts

Como Internacionalizar seu Plugin WordPress (i18n e l10n) do Jeito Certo

Internacionalização e Localização (i18n e l10n)

Aprenda como preparar seu plugin para tradução com WordPress, incluindo uso de text domains, funções de i18n e criação de arquivos .pot, .po e .mo

Segurança Profunda em Plugins WordPress

Segurança Profunda em Plugins WordPress

Descubra como aplicar segurança real nos seus plugins WordPress e proteger dados, ações e reputação.

Como Tratar Erros e Exceptions em Plugins WordPress do Jeito Certo

Tratamento de Erros e Uso Inteligente de Exceptions em Plugins WordPress

Aprenda a criar exceções personalizadas, capturar erros com contexto e registrar falhas com elegância em seus plugins WordPress

Como Implementar um Sistema de Logs Profissional em Plugins WordPress

Como Gerenciar Logs e Erros Internos em Plugins WordPress (Do Jeito Certo)

Aprenda a criar um sistema de gerenciamento de erros e logs para plugins WordPress, elevando a qualidade e profissionalismo dos seus projetos

Como Criar um Bloco WordPress com Filtro por Múltiplas Categorias

Bloco de Posts com Filtro por Múltiplas Categorias

Aprenda a criar um bloco Gutenberg com filtro por múltiplas categorias no WordPress. Ideal para projetos profissionais e sites dinâmicos!

Como Filtrar Posts por Categoria em um Bloco Gutenberg

Filtrando Posts por Categoria no Editor do Bloco

Aprenda a criar um bloco personalizado em WordPress que exibe os últimos posts com filtro por categoria. Ideal para projetos dinâmicos com Gutenberg

Comentários

Você precisa estar logado para ver esta informação.

Adicione seu Snippet

Título *
Resumo *
Descrição Completa *
Código *
Instruções de uso *

Solicitar Orçamento

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!