Der richtige Weg, um Seiteninhalte zu erhalten

8

Ich muss einen bestimmten Seiteninhalt erhalten (wie Seite (12)).

Ich habe das benutzt:

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

Arbeiten Sie gut ausgeführt, um die Kompatibilität mit qtranslate zu gewährleisten. Geben Sie französischen und englischen Text zurück

Aber die Schleife ist in Ordnung, geben Sie nur die gute Sprachversion zurück

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

Also die Frage ... WIE man einen bestimmten Seiteninhalt in die Schleife bringt ...

Menardmam
quelle
Das war sehr hilfreich! Vielen Dank! Es fiel mir schwer, nach einer einfachen Anfrage zu suchen.

Antworten:

6

Nur um klarzustellen:

Sie haben hier zwei Dinge gemischt. qTranslate speichert die verschiedenen Sprachen im selben Beitrag. Wenn Sie anrufen get_content(), $post->contentoder eine andere direkte Abfrage, werden Sie den ganzen Inhalt mit allen verschiedenen Sprachen aus der Datenbank erhalten.

Was qTranslates macht, erzeugt einen Filter-Hook, der an den the_contentHook angehängt wird . Wenn jemand the_content()eine Seitenvorlage aufruft, werden alle anderen Sprachen herausgefiltert.

Du hast also recht. Um die anderen Sprachen zu filtern, müssen Sie den Filter-Hook the_contentauf Ihre Ausgabe anwenden .

Rofflox
quelle
6

Hier ist die Lösung, die ich habe, die gut funktioniert ... der Codex sollte spezifischer über den apply_filter sein ... verwendet ihn jedes Mal

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

Aber ich habe einen großartigen Ort gefunden, um Fragen zu stellen (HIER)! danke Leute !

Menardmam
quelle
5

Es wird nicht oft benutzt, aber ich selbst mag get_post_field()Funktion. Es ist kompakt und dennoch flexibel, wenn Sie ein bestimmtes Feld ziehen müssen.

Selten
quelle