Um recurso muito procurado é como mostrar um determinado post ou página em um local do site. Veja como fazer do jeito certo, sem causa problemas!
Enquanto query_post serve para modificar um loop e obter quanta informações puder, ele não deve ser usado quando se quer mostrar  o conteúdo de um post ou página no site.

A função recomendada é get_post, um pouco chata de usar porque temos que usar o ID do post ou página e a saída pode ser meio deficiente se quiser um link permanente no título, link para comentar etc. O interessante desse modo, é que fica fácil formatar a saída se a ideia é só mostrar um conteúdo que poderá ser facilmente editado a qualquer hora.

Veja como fazer:

Inserindo o Código

Abra o arquivo que quer inserir o conteúdo, geralmente index.php ou sidebar.php, a vantagem deste código é que pode ser usado em qualquer lugar, sem problemas de ecoar o conteúdo ou confundir a paginação. Adicione o seguinte:

 
    <!-- O meu post especifico -->
    <h2>post_title ;?&gt;</h2>
    <span>post_content ;?&gt;</span>
    <p>post_date ;?&gt;</p>
    <!-- Fim do post especifico -->

No exemplo, mostramos o título (sem link), o conteúdo da postagem e a data de criação. Você pode resumir isso também desse modo:

&lt;?php
$id_do_post = 1677; // este é o ID do post
$o_id = get_post($id_do_post);
echo &#039;<h2>' . $o_id-&gt;post_title . '</h2><span>' . $o_id-&gt;post_content . '</span><p>' . $o_id-&gt;post_date  . '</p>';
?&gt;

Outros dados

Há várias outras informações que você pode mostrar como autor, número de comentários, data da última modificação etc. Veja a lista completa no Codex.

Exemplos de Uso

Entre as coisas que pode fazer, está inserir uma página de boas-vindas ou com notas especiais, neste caso, você decide em editar a página ou mudar o ID para cada página que criar, cada vez que modificar o texto. Dependendo dos caso, você não precisa manter páginas com notas de problemas técnicos, por exemplo, então é só editar a postagem ou página e seu conteúdo estará no site!

Sem estresse!

Precisa de ajuda com seu WordPress?

Entre em contato

13 comentários sobre "Mostrar conteúdo de post ou página"

  1. Aline França

    Olá, Diana. Primeiramente parabéns pelo post. Estou fazendo como vc apontou, mas o código não reconhece a shortcode que está num formulário dentro da página. Alguma ideia? Desde já, agradeço.
    • Diana

      Olá! Para mostrar shortcodes nessa situação precisa usar o filtro the_content assim: apply_filters('the_content', $o_id->post_content);
  2. Wesley Lopes

    Parabéns pelo post. Pra ficar maravilhoso só faltou pegar a imagem destaque também, valeu pela força! To quebrando a cabeça pra descobrir. mas se puder ajudar? Opa...estamos aqui!
  3. Jorge

    Olá Diana, Ref: páginas wordpress Vejo constantemente seus comentários esclarecendo dúvidas relacionadas ao wordpress, Assim pode informar: Qual a melhor forma de fazer uma publicação, utilizar páginas ou post, Ocorre que tenho um Blog/site e percebi que as páginas publicadas o goolgle faz a indexação, porém na pesquisa orgânica não aparece o título da postagem, mas somente o nome do dominio. Exemplo nome do site/blog - Verdurasby.com.br/ titulo da postagem: verduras na feira - ao pesquisar no google pelo titulo - Verduras na feira, encontro no nome do site Verdurasby, já no post aparece sempre o título da postagem. Obrigado.
    • Diana

      Olá, isso pode ser causado por algum problema no código do seu tema, tente verificar com as ferramentas de Webmaster do Google.
  4. Ivan
    Eu faço um site de tudo quanto é jeito em html5, css3, js, mas esse lance de PHP, preciso aprender o mais rápido possível, mas estou aqui para agradecer pelo post, foi elementar num novo projeto meu, pesquisei muito e ninguém tinha a solução, obrigado Diana, parabéns, um dia chego neste seu QI :) Abraço!
  5. Jeniffer

    Muitooooooooo obrigada!!
  6. Edson Ney

    Oi Diana, boa tarde! Gostei muito do artigo. Usei a função prá exibir o conteúdo da página "Endereço" em todas as outras páginas do site, porém o conteúdo está vindo sem formatação, sem br e/ou p para quebra de linha. Tentei solucionar mas não consegui... pode me ajudar, por favor?
    • Diana

      Oi, Aqui está normal, talvez algum outro código está quebrando a formtação, por exemplo uma tag sem fechamento.
      • Edson Ney

        Oi Diana, bom dia! Talvez seja mesmo algum problema no meu código. Mas eu não consegui encontrar... =) Através das referências do seu post, encontrei o código abaixo, que no meu caso funcionou. Você poderá explicar as diferenças entre eles muito melhor que eu... have_posts()) : $my_query->the_post(); $more = 0; the_content(); endwhile; ;?> Muito obrigado!! Abraço.
        • Diana

          Acho que você está sem nenhum query principal?
          • Edson Ney

            Oi Diana! Bom dia! Como verifico isso?
    • Reginaldo Morikawa
      Eu tive o mesmo problema, tive que usar esta função (baseado nas variaveis aqui deste post): $o_id->post_content = str_replace("\n\r", '', $o_id->post_content);

Comments are closed.