Existe-t-il un moyen d'obtenir le contenu d'un autre en dehors de la boucle? L'ID est 302 et j'ai besoin d'afficher le contenu de cela sur une autre page.
22
Existe-t-il un moyen d'obtenir le contenu d'un autre en dehors de la boucle? L'ID est 302 et j'ai besoin d'afficher le contenu de cela sur une autre page.
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Réponses:
Vous pouvez utiliser
get_page()
pour renvoyer l'$post
objet d'une page statique:modifier
De même, vous pouvez utiliser
get_post()
pour renvoyer l'$post
objet d'un message:la source
setup_postdata( $post );
abord, après cela, vous pouvez utiliserthe_content();
apply_filters( 'the_content', $post_object->post_content );
pour obtenir le contenu du message en dehors de la boucle, vous pouvez écrire quelque chose comme ça
la source
Si votre contenu comprend des shortcodes, vous devez utiliser:
la source
do_shortcode
autre chose que de dire: «Cela pourrait être lent» et «Vous pouvez simplement utiliser la fonction appelée par le code court». Ces raisons ne sont valables que pour les plus triviales pour les scénarios les plus simples. Il échoue lorsque le shortcode est généré ailleurs, ou s'il existe plusieurs shortcodes, ou des shortcodes mélangés à d'autres contenus et balises. Sans raison impérieuse, je ne suis pas d'accord avec la déclaration à éviterdo_shortcode
. Cela sent comme une optimisation prématurée .Pour être complet, en s'appuyant sur le commentaire de Tim ci-dessus et inspiré par l'article de Stephen Harris , la solution qui permet l'utilisation de
the_content()
est:Et donc les filtres sont appliqués (des paragraphes seront insérés, etc.) et les shortcodes fonctionnent.
la source
Puisque vous connaissez votre ID de publication cible (302), vous pouvez trouver utile cette syntaxe abrégée que vous pouvez utiliser hors de la boucle (bien que ses performances soient à peu près les mêmes que dans toute autre méthode alternative :)
la source
Vous pouvez utiliser la
get_post_data()
fonction pour sortir le post de la boucle. Placez ce code dans functions.phppuis ajoutez cet extrait pour plus de contrôle sur le processus
la source
Vous pouvez utiliser, comme indiqué, la solution avec
get_post
et$post_object->post_content
, mais n'oubliez pas d'ajouter une vérification avant d'utiliser cet objet de publication:la source
Vous pouvez simplement appeler get_the_content (postId)
la source
utiliser
wp_reset_postdata();
cela fonctionnera .. (édité)posttype peut être "post", "page" ou votre type de publication personnalisé. Ici p = 302 est votre identifiant de publication. J'espère que cela fonctionnera.
la source
query_posts
sauf si vous avez besoin de casser les fonctionnalités de la page. Utilisez toujoursWP_Query
ouget_posts
pour des requêtes personnalisées :-)pre_get_posts
filtre, etthe_post
. Tant de détails.vous pouvez mettre du contenu dans une catégorie X et utiliser query_post avant tout comme ceci:
la source