No estoy seguro de por qué, pero solía get_posts()consultar algunos datos. Luego usé setup_postdata()... ¿Creo que se usa para poder usar funciones como the_permalink()etc. con los nuevos datos de publicación?
<?php foreach ($childPosts as $cp) : setup_postdata($cp); ?>
<article <?php post_class() ?> id="post-<?php the_ID(); ?>">
<h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
<?php if (has_post_thumbnail()) : ?>
<a href="<?php the_permalink() ?>"><?php the_post_thumbnail(($hasOutputNotFeaturedDiv) ? 'thumb-small' : null) ?></a>
<?php endif; ?>
<?php the_excerpt(); ?>
<p class="more"><a href="<?php the_permalink() ?>">Read more ...</a></p>
<?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>
</article>
<?php endforeach; ?>
pero parece que solo the_excerptcontiene el nuevo valor de datos de publicación, ¿por qué es eso? Me parece que si lo uso echo get_the_permalink($cp)funciona bien. Pero creo que la versión más corta será mejor.

Reemplace la
con
Por lo tanto, debe usar la
$postvariable exacta junto consetup_postdata().fuente
setup_postdata()?Dependiendo de dónde esté utilizando setup_postdata () (si no está en el bucle principal, o en un widget de función / barra lateral, por ejemplo), es posible que también deba declarar:
fuente
global post;no funcionasetup_postdata($post);si desea utilizar lathe_title()familia de comandos, etc.Está en https://codex.wordpress.org/Function_Reference/setup_postdata
En lugar de usar
... también asegúrese de que
$post_objectsea un objeto WP_Post válido.fuente
Al consultar publicaciones simplemente use el bucle normal con un conjunto de argumentos pasados. Luego restablezca la consulta al final.
fuente
setup_postdata()no parece funcionar? ¿Lo usé mal?$postlugar de$cpsoluciona el problema.