web-dev-qa-db-fra.com

Moyen approprié pour obtenir le contenu de la page

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

J'ai utilisé ça:

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

Work Nice sauf la compatibilité avec qtranslate return text français et anglais

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

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

Alors la question .... Comment obtenir un contenu de page spécifique insite la boucle ...

8
menardmam

Voici la solution que j'ai avec des fondations qui fonctionnent bien ... le codex devrait être plus précis sur apply_filter ... tout utilisé à chaque fois

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

Mais j'ai trouvé un bon endroit pour poser une question (ICI)! Merci les gars !

5
menardmam

Juste pour clarifier:

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

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

Donc tu as raison. Pour filtrer les autres langues, vous devez appliquer le filtre-hook the_content à votre sortie.

6
rofflox

Ce n'est pas souvent utilisé, mais j'aime bien get_post_field() function Il est compact, mais flexible pour les cas où vous devez tirer sur un seul champ spécifique.

5
Rarst

Vous pouvez utiliser get_page, comme suit:

http://codex.wordpress.org/Function_Reference/get_page

4
stffn