Pagination WordPress sans plugin
posté le par Jonathan | 39 commentaires | 3119 vues |
Ajouter à mes favoris WordPress n’a pas que des qualités.
Oui la réalité est difficile et l’un de ses plus grands défauts est son système de pagination classique (bouton suivant et précédent).
Sans plugin et avec seulement quelques lignes de codes, nous allons créer un système de pagination facilement intégrable à votre thème.
Pour l’exemple de notre tutoriel, le plugin recommandé par les « experts » WordPress est WP-Pagenavi. Ce plugin va installer deux dossiers et plus de 15 fichiers ! Un peu lourd pour un plugin censé proposer une navigation simple.
[Mise à jour] Le code a été modifié et utilise la fonction native de WordPress paginate_links().
Placer le code suivant dans le fichier functions.php présent à la racine de votre thème :
function theme_pagination()
{
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => false,
'end_size' => 1,
'mid_size' => 2,
'type' => 'list',
'next_text' => '»',
'prev_text' => '«'
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo str_replace('page/1/','', paginate_links( $pagination ));
}
Maintenant, tout ce que vous devez faire est d’ajouter la fonction vers le bas des pages où vous voulez que votre pagination doit apparaître. Si votre thème utilise le fichier loop.php, tout ce que vous devez faire est d’ajouter le code ci-dessous à la fin de votre boucle. Sinon, vous pouvez l’ajouter à index.php, archive.php et autres fichiers qui nécessitent la pagination.
<?php theme_pagination(); ?>
Explication sur les réglages :
- end_size : détermine le nombre de liens a afficher en début et fin de la pagination
- mid_size : détermine le nombre de pages a afficher avant et après la page courante
Si vous avez choisi une valeur de 3 pour mid_size, cela signifie que vous aurez toujours 3 pages (ou chiffres) de chaque côté de la page courante.
Pour plus d’informations sur les réglages de la fonction paginate_links(), cliquez sur ce lien.
Si vous avez aimé cet article, n'oubliez pas de vous abonner à notre flux RSS ou à notre newsletter au contenu exclusif.
- jonathan le
- Ademus le
- Jérémy le
- kiwii le
- jonathan le
- Kam le
- jonathan le
- Amaury le
- jonathan le
- marco le
- jonathan le
- blh le
- jonathan le
- blh le
- jonathan le
- Bruno le
- jonathan le
- Bruno le
- jonathan le
- Bruno le
- Buymeadonut le
- Yann le
- jonathan le
- Yann le
- slowflex le
- jonathan le
- slowflex le
- Théo le
- Christophe Chaudey le
- jonathan le
- Julie le
- Jonathan le
- 202 ecommerce le
- Jonathan le
- Ana le
- Jonathan le
- Ana le
- Ana le
- 202 ecommerce le
Laisser un commentaire