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_excerpt
contiene 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
$post
variable 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_object
sea 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?$post
lugar de$cp
soluciona el problema.