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 ...
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 !
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.
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.
Vous pouvez utiliser get_page
, comme suit: