Gibt es eine Möglichkeit, den Inhalt von einem anderen außerhalb der Schleife abzurufen? Die ID ist 302 und ich muss den Inhalt davon auf einer anderen Seite anzeigen.
loop
post-content
rauben
quelle
quelle
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Antworten:
Mit können Sie
get_page()
das$post
Objekt einer statischen Seite zurückgeben:Bearbeiten
Auf ähnliche Weise können Sie
get_post()
das$post
Objekt eines Posts zurückgeben:quelle
setup_postdata( $post );
zuerst, danach können Siethe_content();
apply_filters( 'the_content', $post_object->post_content );
Um den Inhalt des Posts außerhalb der Schleife zu erhalten, können Sie so etwas schreiben
quelle
Wenn Ihr Inhalt Shortcodes enthält, sollten Sie Folgendes verwenden:
quelle
do_shortcode
anderes zu vermeiden, als zu sagen: "Es könnte langsam sein" und "Sie können einfach die Funktion verwenden, die der Funktionscode aufruft." Diese Gründe gelten nur für die einfachsten Fälle. Es schlägt fehl, wenn der Shortcode an einer anderen Stelle generiert wird oder wenn mehrere Shortcodes vorhanden sind oder Shortcodes mit anderen Inhalten und Markups gemischt sind. Ohne zwingenden Grund würde ich der zu vermeidenden Aussage nicht zustimmendo_shortcode
. Das riecht nach vorzeitiger Optimierung .Der Vollständigkeit halber, basierend auf Tims Kommentar oben und inspiriert von Stephen Harris 'Artikel ,
the_content()
lautet die Lösung, die die Verwendung von ermöglicht :Dadurch werden Filter angewendet (Absätze werden eingefügt usw.) und Shortcodes funktionieren.
quelle
Da Sie Ihre Ziel-Beitrags-ID (302) kennen, ist diese Syntax möglicherweise nützlich, die Sie auch außerhalb der Schleife verwenden können (obwohl die Leistung fast dieselbe ist wie bei jeder anderen alternativen Methode :)
quelle
Sie können die
get_post_data()
Funktion verwenden, um Beiträge außerhalb der Schleife zu veröffentlichen. Platziere diesen Code in functions.phpFügen Sie dann dieses Snippet hinzu, um mehr Kontrolle über den Prozess zu erhalten
quelle
Sie können, wie gesagt, die Lösung mit
get_post
und verwenden$post_object->post_content
, aber vergessen Sie nicht, ein Häkchen hinzuzufügen, bevor Sie dieses Beitragsobjekt verwenden:quelle
Sie können einfach get_the_content (postId) aufrufen.
quelle
benutze
wp_reset_postdata();
es wird funktionieren .. (bearbeitet)Der Posttyp kann "post", "page" oder Ihr benutzerdefinierter Posttyp sein. Hier ist p = 302 Ihre Beitrags-ID. Ich hoffe, es wird funktionieren.
quelle
query_posts
sei denn, Sie müssen die Seitenfunktionen unterbrechen. Verwenden Sie immerWP_Query
oderget_posts
für benutzerdefinierte Abfragen :-)pre_get_posts
Filter undthe_post
. So viele Details.Sie können Inhalte in eine Kategorie X einfügen und zuvor query_post verwenden, während Sie wie folgt vorgehen:
quelle