Moyen approprié pour obtenir le contenu de la page

8

Je dois obtenir un contenu de page spécifique (comme la page (12))

J'ai utilisé ça:

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

Travaillez bien avec execpt pour la compatibilité avec qtranslate il retourne le texte français et anglais

Mais la boucle est bonne, ne retournez que la bonne version linguistique

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

Donc la question .... COMMENT obtenir un contenu de page spécifique dans la boucle ...

menardmam
la source
C'était très utile! Merci! J'ai eu du mal à chercher ce que je pensais être une simple demande.

Réponses:

6

Juste pour clarifier:

Vous avez mélangé deux choses ici. qTranslate stocke les différentes langues dans le même article. Si vous appelez get_content(), $post->contentou une autre requête directe, vous obtiendrez tout le contenu avec toutes les différentes langues de la base de données.

Ce que fait qTranslates, il crée un filtre-crochet qui est attaché au the_contentcrochet. Si quelqu'un appelle the_content()dans un modèle de page, toutes les autres langues seront filtrées.

Vous avez donc raison. Pour filtrer les autres langues, vous devez appliquer le filtre-crochet the_contentà votre sortie.

rofflox
la source
6

Voici la solution que j'ai des fonds qui fonctionnent bien ... le codex devrait être plus précis sur le filtre apply_filter ... utilisé tout le temps

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

Mais j'ai trouvé un super endroit pour poser des questions (ICI)! Merci les gars !

menardmam
la source
5

Ce n'est pas souvent utilisé, mais moi j'aime la get_post_field()fonction. Il est compact, mais flexible lorsque vous devez tirer un seul champ spécifique.

Rarst
la source