Suporte » Temas » Mostrar conteúdo inteiro só para registrados

  • Resolvido AlexandrehFumes

    (@alexandrehfumes)


    Título original: Exibindo postagens privadas

    Olá comunidade do wordpress, estou com um problema, preciso exibir os posts marcados como private, mesmo se o visitante não estiver logado no site, como exibir os posts mesmo se estiverem sido marcados como postagem privada no momento do cadastro ? Desde ja obrigado.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Não tem como, e não entendi porque marcar o post como protegido se quer mostrá-lo a todos?

    Você pode até restringir a visualização dependendo do usuário, mas esse tipo de recurso que quer não tem fundamento.

    Criador do tópico AlexandrehFumes

    (@alexandrehfumes)

    Diana K. C, grato pela atenção e pela resposta,

    Veja bem, o porquê de exibir as postagens privadas para usuarios não logados :
    Tem uma area no site, que lista todo o conteudo “premium” do site, porem somente lista e quando o usuário normal tentar ver a postagem completa, nao consiguira pois vai requerer estar logado, é um site de um cliente, este site tem conteudo para assinantes e tambem conteudo livre,

    Tentei utilizar alguns filtros, mas tambem não tive sucesso, se alguem mais pode dar um dica, ou souber como fazê-lo…

    Grato.

    Criador do tópico AlexandrehFumes

    (@alexandrehfumes)

    Consegui listar as postagens privadas, mas quando um usuario nao logado tenta acessar ao post completo, eu recebo um 404, sendo que na verdade, o objetivo seria mandá-lo para a página de cadastro, não sei se fui claro dessa forma, veja a abaixo o filtro que usei na listagem dos posts para incluir o post privado no loop.

    function postagem_filtro($where = '') {
    		$where.=" OR wp_posts.post_status = 'private' ";
    		return $where;
    	}
    	add_filter('posts_where', 'postagem_filtro');

    Entendi.

    No arquivo de contexto de post único single.php, coloque um condicional para verificar se o usuário está logado com is_user_logged_in.

    Se estiver, o conteúdo é mostrado, se não redireciona para tal página, através de wp_redirect, acho.

    Exemplo:

    <?php
    if ( is_user_logged_in() ) {
        the_content();
    } else {
        wp_redirect( 'http://site.com/registre' );;
    }
    ?>

    Criador do tópico AlexandrehFumes

    (@alexandrehfumes)

    Obrigado, encontrei uma solução aqui, definindo o post_status na minha consulta de post como private, segue detalhes no link do GuiaWordPress
    http://www.guiawp.com.br/dicas/wp-query-template/

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Mostrar conteúdo inteiro só para registrados’ está fechado para novas respostas.