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 ...


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.


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 !


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.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.