Ich bin nicht sicher warum, aber ich habe get_posts()
einige Daten abgefragt. Dann habe ich verwendet setup_postdata()
... Ich denke, es wird verwendet, damit ich Funktionen wie the_permalink()
etc mit den neuen Post-Daten verwenden kann?
<?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; ?>
aber es scheint, dass nur the_excerpt
der neue Post-Datenwert enthält, warum ist das so? Ich finde, wenn ich es benutze echo get_the_permalink($cp)
, funktioniert es in Ordnung. Aber ich denke, die kürzere Version wird besser sein
Ersetze das
mit
Sie müssen also die genaue
$post
Variable zusammen mit dem verwendensetup_postdata()
.quelle
setup_postdata()
?Abhängig davon, wo Sie setup_postdata () verwenden (wenn es sich nicht in der Hauptschleife oder beispielsweise in einem Funktions- / Seitenleisten-Widget befindet), müssen Sie möglicherweise auch Folgendes deklarieren:
quelle
global post;
funktioniert nicht mit,setup_postdata($post);
wenn Sie diethe_title()
Befehlsfamilie usw. verwenden möchten .Es befindet sich unter https://codex.wordpress.org/Function_Reference/setup_postdata
Verwenden Sie stattdessen
... stellen Sie außerdem sicher, dass
$post_object
es sich um ein gültiges WP_Post-Objekt handelt.quelle
Verwenden Sie beim Abfragen von Posts einfach die normale Schleife mit einer Reihe von Argumenten. Setzen Sie dann die Abfrage am Ende zurück.
quelle
setup_postdata()
es nicht zu funktionieren scheint? Habe ich es falsch benutzt?$post
anstelle von behoben wird$cp
.