Ich suchte nach einer einfachen Möglichkeit, um festzustellen, ob die posts_nav_link()
Funktion verwendet werden sollte oder nicht, und alle Lösungen, die ich online fand, waren entweder zu komplex oder unzuverlässig. Zum Beispiel haben viele Leute vorgeschlagen, die $paged
globale Variable zu verwenden, aber ich stellte fest, dass diese Variable denselben Wert für die erste Seite zurückgab, auch wenn die erste Seite die einzige Seite war!
Also habe ich mich in die wp-includes/link-template.php
Datei vertieft und festgestellt, dass die posts_nav_link()
Funktion einfach den Rückgabewert einer anderen Funktion ausgibt:
/**
* Display post pages link navigation for previous and next pages.
*
* @since 0.71
*
* @param string $sep Optional. Separator for posts navigation links.
* @param string $prelabel Optional. Label for previous pages.
* @param string $nxtlabel Optional Label for next pages.
*/
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
$args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
echo get_posts_nav_link($args);
}
Mit diesem Wissen können wir auf einfache und effektive Weise feststellen, ob wir Links hinzufügen müssen, um zwischen den Seiten zu navigieren:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
Ursprünglich geschrieben auf meinem Blog hier .
get_query_var( 'paged' )
zweimaliges Aufrufen ist überflüssig. Der optionale zweite Parameter dieser Funktion ist der Standardwert. Sie könnten es also vereinfachen:$paged = get_query_var( 'paged', 1 );