Je souhaite personnaliser la pagination des commentaires pour prendre en charge Bootstrap. J'ai ces lignes dans mon fichier de thème mais j'ai besoin de davantage de personnalisation pour afficher le style de pagination Bootstrap.
<?php the_comments_pagination( array(
'prev_text' => '<i class="fa fa-arrow-right" aria-hidden="true"></i><span class="screen-reader-text">' . __( 'Previous', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next', 'twentyseventeen' ) . '</span><i class="fa fa-arrow-left" aria-hidden="true"></i>',
) );
Il suffit de remplacer cet extrait pour celui-ci:
<?php
$pages = paginate_comments_links(['echo' => false, 'type' => 'array']);
if( is_array( $pages ) ) {
$output = '';
foreach ($pages as $page) {
$page = "\n<li>$page</li>\n";
if (strpos($page, ' current') !== false)
$page = str_replace([' current', '<li>'], ['', '<li class="active">'], $page);
$output .= $page;
}
?>
<nav aria-label="Comment navigation">
<ul class="pagination">
<?=$output?>
</ul>
</nav>
<?php
}
?>
Ce code récupère les commentaires sous forme de tableau, ce qui permet de les personnaliser sous forme de liste non ordonnée formatée uniquement pour Bootstrap.
Il remplace également la classe current
WP pour la active
utilisée par Bootstrap pour marquer la page en cours.
Pour que ce code fonctionne, vous devez également ajouter le fichier bootstrap.css
dans votre en-tête.