La fonction que vous utilisez, wp_link_pages
Codex , n'a pas la fonctionnalité que vous recherchez par défaut.
Cependant, vous pouvez facilement l'étendre en utilisant une fonction de rappel, enregistrée en tant que filtre sur les arguments de cette fonction:
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
Le filtre modifiera ensuite les paramètres utilisés dans cette fonction à la volée et injectera les liens manquants aux arguments prev
et next
qui sont affichés à gauche et à droite de la liste des liens numérotés ( next_or_number' => 'number'
):
/**
* Add prev and next links to a numbered page link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args['next_or_number'] == 'next_and_number')
return $args; # exit early
$args['next_or_number'] = 'number'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args['before'] .= _wp_link_page($page-1)
. $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
;
if ($page<$numpages) # there is a next page
$args['after'] = _wp_link_page($page+1)
. $args['link_before'] . ' ' . $args['nextpagelink'] . $args['link_after'] . '</a>'
. $args['after']
;
return $args;
}
Usage:
wp_link_pages(array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'next_or_number' => 'next_and_number', # activate parameter overloading
'nextpagelink' => __('Next'),
'previouspagelink' => __('Previous'),
'pagelink' => '%',
'echo' => 1 )
);
Si votre thème utilise toujours les liens précédent et suivant, vous pouvez modifier légèrement la fonction pour en faire le comportement par défaut chaque fois que number
(par défaut) est utilisé, vous devez donc écrire moins dans vos thèmes.
Il s'agit d'une implémentation légèrement différente comme suggéré par Velvet Blues .
La
wp_link_pages()
fonction ne montre que que du texte ou un nombre, jamais les deux. Si vous jetez un œil au code de la fonction, vous verrez qu'il n'y a pas d'option pour le faire se comporter différemment en passant des paramètres.Cela étant dit, il existe trois façons de le faire sans plug-in:
wp_link_pages()
. Hack très inefficace.J'ai écrit un article sur la façon de procéder sur mon blog. Fondamentalement, j'utilise le filtre wp_link_pages_args et j'ajoute une fonction dans le fichier functions.php qui ajoute une nouvelle option 'next_and_number'.
Hack WordPress: Afficher le numéro et les liens suivants / précédents avec wp_link_pages ()
la source
Essayez ceci, vous pouvez le personnaliser davantage. Mais cela devrait faire ce que vous vouliez :-)
la source
Je ne comprends pas quel est le problème ... Avez-vous une erreur?
Cela devrait fonctionner:
Vous n'avez pas besoin d'ajouter next_or_number car number est déjà la valeur par défaut.
la source
next_or_number
ànext
. Mais il ne montre que les liens «Suivant» et «Précédent», pas les chiffres!Ce code est sur la boucle des messages? Le codage me convient. Voici l'exemple du Codex sur la façon d'utiliser:
la source
La réponse est différente, mais c'est inspiré par @ 荒野 无 灯 qui a décidé de supprimer sa réponse. À mon humble avis, c'est la meilleure, car c'est la solution la plus simple et la plus flexible:
La solution dépend
paginate_links()
. La seule chose à savoir est que cebase
sera l'URl dès le début, ajouté par%_%
, qui sera ensuite remplacé parformat
. Donc, tant que nous utilisonsget_permalink().'%_%';
, nous savons que nous resterons en tout cas sur le poste actuel. A l'intérieurformat
, le#
est remplacé par le numéro de page:la source