Maneira correta de obter o conteúdo da página

8

Preciso obter conteúdo específico da página (como a página (12))

Eu usei isso:

  <?php $id=47; $post = get_page($id); echo $post->post_content;  ?>

Funciona bem, execpt para compatibilidade com qtranslate, retorna texto em francês e inglês

Mas o loop está bom, retorne apenas a versão em bom idioma

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div id="post">
<?php the_content(); ?>
</div> <!-- .post -->

Então a pergunta .... COMO obter um conteúdo de página específico dentro do loop ...

menardmam
fonte
Isso foi muito útil! Obrigado! Tive dificuldade para procurar o que pensava ser um simples pedido.

Respostas:

6

Só para esclarecer:

Você misturou duas coisas aqui. qTranslate armazena os diferentes idiomas no mesmo post. Se você chamar get_content(), $post->contentou uma outra consulta direta, você vai ter todo o conteúdo com todos os idiomas diferentes do banco de dados.

O que o qTranslates faz, cria um gancho de filtro que é anexado ao the_contentgancho. Se alguém chamar the_content()um modelo de página, todos os outros idiomas serão filtrados.

Então você está certo. Para filtrar os outros idiomas, você deve aplicar o gancho de filtro the_contentà sua saída.

rofflox
fonte
6

Aqui está a solução que eu tenho, que funciona bem ... o códice deve ser mais específico sobre o apply_filter ... usado sempre

$id=47;
$post = get_page($id);
$content = apply_filters('the_content', $post->post_content);
echo $content;

Mas eu encontrei um ótimo lugar para fazer perguntas (AQUI)! obrigado rapazes !

menardmam
fonte
5

Não é usado com frequência, mas eu gosto de get_post_field()função. É compacto, mas flexível para quando você precisar extrair um campo específico.

Rarst
fonte