WordPress : Comment puis-je obtenir le lien de la page suivante des articles ?
Des fonctions telles que get_next_posts_link vous permettent d’obtenir le lien HTML vers la page suivante, avec peu de paramètres à modifier (étiquette et pages max). Je souhaite obtenir l’URL de la page suivante afin de pouvoir ajouter des classes personnalisées au lien.
Solution n°1 trouvée
Pourquoi créer le lien vous-même, alors que vous pouvez simplement ajouter la classe au résultat de get_next_posts_link()
?
add_filter('next_posts_link_attributes','example_add_next_link_class');
function example_add_next_link_class($attr) {
return $attr . ' class="example-class"';
}
Maintenant, le lien renvoyé par get_next_posts_link()
contiendra votre classe.
Solution n°2 trouvée
Alors que de nombreuses fonctions communes peuvent être trouvées sur le WordPress Codex, il existe également des fonctions non documentées dans le code source.
La fonction previous_posts est l’une de ces fonctions, qui est documentée dans la source :
Afficher ou retourner le lien de la page des articles précédents.
En utilisant previous_posts(false) , nous pouvons obtenir l’URL de la page précédente, sans l’afficher.
Cependant, cela ne vérifie pas s’il n’y a plus de pages et renverra des 404 s’il est utilisé seul.
En inspectant la source de get_next_posts_link , nous pouvons utiliser le code pour vérifier si nous avons atteint la limite de la page et renvoyer uniquement le lien :
/**
* Gets the next posts link, checked against whether the page exists or not
*
* Returns the link or null if it doesn't exist
*/
function get_next_posts_url($max_page = 0) {
global $paged, $wp_query;
if ( !$max_page )
$max_page = $wp_query->max_num_pages;
if ( !$paged )
$paged = 1;
$nextpage = intval($paged) + 1;
if ( !is_single() && ( $nextpage <= $max_page ) ) {
return next_posts( $max_page, false );
}
}
0 commentaire