Warum arbeiten previous_post_link und next_post_link außerhalb des Loops?

Das ist meine single.php Datei:

Ich verwende previous_post_link(); und next_post_link(); .

Im Worpress Codex steht, dass es nur innerhalb der Schleife funktioniert .

   
query('post_type=blocks&location=Work&section=Intro'); while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
query('post_type=blocks&location=Work&section=Tagline'); while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
ID); ?>

ID); ?>

query('post_type=blocks&location=Front Page&section=Sidebar'); while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>

<a href="https://wordpress.stackexchange.com/questions/9217/why-is-previous-post-link-and-next-post-link-working-outside-of-the-loop/" title="" rel="bookmark">

<a href="https://wordpress.stackexchange.com/questions/9217/why-is-previous-post-link-and-next-post-link-working-outside-of-the-loop/" title="" rel="bookmark">

ID, "Other_Work", true); ?>

Solutions Collecting From Web of "Warum arbeiten previous_post_link und next_post_link außerhalb des Loops?"

“Innerhalb der Schleife” bedeutet im Wesentlichen, dass die function auf Daten von globalen Variablen (wie $post ) angewiesen ist, die eingerichtet werden, wenn Loop ausgeführt wird. Beachten Sie, dass dies nicht unbedingt von der Hauptschleife von query_posts() .

In Ihrem spezifischen Code werden diese Variablen durch $custom_posts->the_post() Aufrufe gefüllt, und danach holt wp_reset_query() diese Werte zurück in den Anfangszustand.