Je ne sais pas pourquoi, mais j'ai utilisé get_posts()
pour rechercher des données. Ensuite, j'ai utilisé setup_postdata()
... Je pense que son utilisé afin que je puisse utiliser des fonctions comme the_permalink()
etc avec les nouvelles données de poste?
<?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; ?>
mais il semble que ne the_excerpt
contienne que la nouvelle valeur des données de publication, pourquoi? Je trouve que si j'utilise echo get_the_permalink($cp)
ça marche bien. Mais je pense que la version courte sera meilleure
Remplace le
avec
Vous devez donc utiliser la
$post
variable exacte avec lesetup_postdata()
.la source
setup_postdata()
?Selon l'endroit où vous utilisez setup_postdata () (s'il ne se trouve pas dans la boucle principale ou dans un widget de fonction / barre latérale, par exemple), vous devrez peut-être également déclarer -
la source
global post;
ne fonctionne passetup_postdata($post);
si vous souhaitez utiliser lathe_title()
famille de commandes, etc.C'est dans https://codex.wordpress.org/Function_Reference/setup_postdata
Utilisez plutôt
... assurez-vous également que votre
$post_object
est un objet WP_Post valide.la source
Lorsque vous interrogez des publications, utilisez simplement la boucle normale avec un ensemble d'arguments transmis. Réinitialisez ensuite la requête à la fin.
la source
setup_postdata()
ne semble pas fonctionner? L'ai-je mal utilisé?$post
au lieu de$cp
résout le problème.