¿Hay alguna manera de obtener el contenido de otro fuera del ciclo? La ID es 302 y necesito mostrar su contenido en otra página.
loop
post-content
Robar
fuente
fuente
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Respuestas:
Puede usar
get_page()
para devolver el$post
objeto de una página estática:Editar
Del mismo modo, puede usar
get_post()
para devolver el$post
objeto de una publicación:fuente
setup_postdata( $post );
primero, después de eso, puede usarthe_content();
apply_filters( 'the_content', $post_object->post_content );
para obtener el contenido de la publicación fuera del ciclo, puede escribir algo como esto
fuente
Si su contenido incluye códigos cortos, debe usar:
fuente
do_shortcode
aparte de decir: "Puede ser lento" y "Puede usar la función que llama el código corto". Esas razones solo son válidas para los más triviales para los escenarios más simples. Falla cuando el shortcode se genera en otro lugar, o si hay múltiples shortcodes o shortcodes mezclados con otro contenido y marcado. Sin una razón convincente, no estaría de acuerdo con la declaración para evitardo_shortcode
. Esto huele a optimización prematura .Para completar, basándose en el comentario anterior de Tim e inspirado en el artículo de Stephen Harris , la solución que permite el uso
the_content()
es:Y, por lo tanto, los filtros se aplican (se insertarán párrafos, etc.) y los códigos cortos funcionan.
fuente
Como conoce su ID de publicación de destino (302), puede encontrar útil esta sintaxis abreviada que puede usar fuera del ciclo (aunque su rendimiento es prácticamente el mismo que en cualquier otro método alternativo :)
fuente
Puede usar la
get_post_data()
función para obtener publicaciones fuera del ciclo. Coloque este código en functions.phpy luego agregue este fragmento para tener más control sobre el proceso
fuente
Puede usar, como se dijo, la solución con
get_post
y$post_object->post_content
, pero no olvide agregar un cheque antes de usar ese objeto de publicación:fuente
Simplemente puede llamar a get_the_content (postId)
fuente
usarlo
wp_reset_postdata();
funcionará ... (editado)posttype puede ser "post", "page" o su tipo de publicación personalizada. Aquí p = 302 es su id de publicación. Espero que funcione.
fuente
query_posts
menos que necesite romper las funcionalidades de la página. Utilice siempreWP_Query
oget_posts
para consultas personalizadas :-)pre_get_posts
filtro, ythe_post
. Tanto detallepuede poner contenido en una categoría X y usar query_post antes mientras hace esto:
fuente