J'essaie de rendre quelque chose de plus significatif à partir du résultat wp_link_pages()
:
$paged_page_nav = wp_link_pages( array( 'echo' => false ) );
// Now let's wrap the nav inside <li>-elements
$paged_page_nav = str_replace( '<a', '<li class="'.$classes.'"><a', $paged_page_nav );
$paged_page_nav = str_replace( '/a>', '/a></li>', $paged_page_nav );
// here I'd need to wrap the currently displayed page element
echo '<ul>'.$pages_page_nav.'</ul>';
Actuellement, mes pages de liens (nav/pagination numérotées) s’affiche comme ceci:
<!-- assuming we display page(d) 2/5 -->
<ul>
<li><a href="...">1</a></li>
2 <!-- This is the currently displayed paged, wrapped in nothing -->
<li><a href="...">3</a></li>
<li><a href="...">4</a></li>
<li><a href="...">5</a></li>
</ul>
Je n’utiliserais pas la fonction interne de WordPress.
Nous avions récemment une question très similaire: Comment styler le numéro de page actuel (wp_link_pages)? J'ai écrit une fonction petite mais flexible pour remplacer wp_link_pages()
. Il est probablement plus facile d’étendre cela que de pirater la valeur de retour de la fonction native.
vous pouvez essayer d'utiliser les paramètres 'link_before' et 'link_after' pour obtenir un descripteur pour un certain str_replace; dans l'exemple, j'ai utilisé un <span>
:
$paged_page_nav = wp_link_pages(
array(
'before' =>'',
'after' => '',
'link_before' => '<span>',
'link_after' => '</span>',
'echo' => false
)
);
// Now let's wrap the nav inside <li>-elements
$paged_page_nav = str_replace( '<a', '<li class="'.$classes.'"><a', $paged_page_nav );
$paged_page_nav = str_replace( '</span></a>', '</a></li>', $paged_page_nav );
$paged_page_nav = str_replace( '"><span>', '">', $paged_page_nav );
// here I'd need to wrap the currently displayed page element, which could even get a different class
$paged_page_nav = str_replace( '<span>', '<li class="'.$classes.'">', $paged_page_nav );
$paged_page_nav = str_replace( '</span>', '</li>', $paged_page_nav );
echo '<ul>'.$paged_page_nav.'</ul>';