Comment puis-je déterminer si je suis sur la toute première page de pagination? J'utilise WP_Pagenavi. Je veux exécuter une fonction uniquement sur la première page de la pagination. J'ai vérifié la requête_var 'paginée', elle a la valeur 0 sur cette page, puis 2, 3 et ainsi de suite dans les pages suivantes (il manque 1!) ... Quelqu'un connaît une solution propre?
Merci.
// get current page we are on. If not set we can assume we are on page 1.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// are we on page one?
if(1 == $paged) {
//true
}
si vous voulez seulement savoir que vous êtes sur la première page d'une page paginée, essayez is_paged()
:
if ( !is_paged() ) {
// first page of pagination
}
Je recherchais un moyen simple de déterminer s’il fallait ou non utiliser la fonction posts_nav_link()
et toutes les solutions que j’ai trouvées en ligne étaient soit trop complexes, soit peu fiables. Par exemple, de nombreuses personnes ont suggéré d'utiliser la variable globale $paged
, mais j'ai constaté que cette variable renvoyait la même valeur pour la première page, même lorsque la première page était la seule page!
J'ai donc creusé dans le fichier wp-includes/link-template.php
et constaté que la fonction posts_nav_link()
produisait simplement la valeur de retour d'une autre fonction:
/**
* 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);
}
En utilisant cette connaissance, nous pouvons créer un moyen simple et efficace pour déterminer si nous devons ou non ajouter des liens pour naviguer entre les pages:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
Initialement posté sur mon blog ici .