WordPress: personnaliser la navigation entre les postes
Lundi, Février 9, 2009Wordpress offre de nombreuses fonctionnalités pour naviguer à travers les différents postes et pages en avant et en arrière. Ils sont utilisés dans les thèmes, souvent de façon interchangeable, même si elles contiennent quelques différences. Ceci, en fait, créer une grande confusion dans le choix de la fonction à utiliser. Voici quelques notes:
adjacent_post_link()-
next_posts_link() -
posts_nav_link()
Avec la version 2.7 de Wordpress, ensuite, ont été l'ajout d'autres fonctions (ou publique mis) effectivement utilisés dans ceux déjà connus. Par exemple, la get_next_posts_link() nouveau get_next_posts_link() est utilisée par next_posts_link() disponible depuis la version 0.71. Évidemment get_previous_posts_link() est appelée par previous_posts_link()
Pour des raisons historiques et compatibilité avec les "vieux" modèle, analysant le code source de Wordpress nous nous rendons compte que certaines fonctions sont vraiment superflu. posts_nav_link() Exemple posts_nav_link() appelle l'intérieur previous_posts_link() et next_posts_link() Toutefois, le code (dans la version 2.7 de Wordpress) de next_posts_link() est:
- / **
- * Affichage des pages suivantes postes lien.
- *
- * @ Since 0.71
- * @ Get_next_posts_link Usages ()
- *
- * @ Param string $ content étiquette de texte du lien.
- * @ Param int $ max_page facultatif. Max pages.
- * /
- $label = 'Next Page »' , $max_page = 0 ) { next_posts_link function ($ label = 'Page Suivante', max_page = 0 $) (
- $label , $max_page ) ; get_next_posts_link echo ($ label, $ max_page);
- )
Personnalisation
Laissant de côté les questions de code de bas niveau source, nous retournons à aborder le sujet de ce post, à savoir comment modifier facilement la présentation classique Avanti et-vient. Naviguer dans les deux sens peut être placé là où vous voulez, par exemple dans archive.php fichier vous pouvez utiliser:
- "navigation" > <div class = "navigation">
- "prev alignleft" ><?php next_posts_link ( '<span> Precedente </span> ') ?> </div> <div "prev alignleft" classe => <? next_posts_link php ( '<span> Précédent </ span >')?> </ div>
- "next alignright" ><?php previous_posts_link ( '<span> Successivo </span> ') ?> </div> <div "next alignright" classe => <? previous_posts_link php ( '<span> Suivant </ span >')?> </ div>
Étant donné que nous entrons dans une archive, qui est limité par rapport à l'occasion entier à la poste (car le filtre par date, thème, tags, etc ...), nous utilisons next_posts_link() et previous_posts_link() Mettre en place l'étiquette intelligente d'une manière convenable, comme dans l'exemple, nous pouvons faire des modifications de disposition que par la feuille de style, en laissant une sortie HTML valide. Par exemple, vous pouvez "cacher" l'étiquette et sostiturle avec une image en utilisant:
- float : right } . Alignright (float: right)
- float : left } . Alignleft (float: left)
- / * Navigation * personnalisation>
- div.navigation (display: block; height: 38px; padding: 16px 0 16px 16px; width: 678px)
- div.navigation div.prev bis (display: block; width: 38px; height: 38px; background: url (images / prev_image.png) no-repeat)
- div.navigation div.next bis (display: block; width: 38px; height: 38px; background: url (images / next_image.png) no-repeat)
- une durée de div.navigation div.prev, div.next div.navigation une durée de (display: none)
La ligne du bas est celle qui permet de cacher le texte, qui est la raison pour laquelle elles sont incorporées les span de la next_posts_link() appel de fonction next_posts_link() et previous_posts_link()
Pour parcourir les single.php souvent d'utilisation:
- "navigation" > <div class = "navigation">
- "prev alignleft" ><?php adjacent_post_link ( '%link' , '<span> Precedente </span> ', false, '', true); ?> </div> <div "prev alignleft" classe => <? adjacent_post_link php ( '% link', '<span> Précédent </ span>', false,'', true);?> </ div>
- "next alignright" ><?php adjacent_post_link ( '%link' , '<span> Successivo </span> ', false, '', false); ?> </div> <div "next alignright" classe => <? adjacent_post_link php ( '% link', '<span> Suivant </ span>', false,'', false);?> </ div>
Encore une fois, le CSS est toujours le même.













Excellent article ... Je commence à suivre votre blog et je dois dire que vous offrir un contenu vraiment très intéressant. Félicitations
!
@ Ziosteve: Merci!
Merci beaucoup pour cet article ... très utile en effet. Mettra à l'essai dès que vos conseils. Bonjour!
le débutant
J'espère que d'améliorer
et apprendre pas à pas
Bonjour, j'ai ajouté les liens de navigation sur une page WP ne fonctionne pas. Lorsque je clique sur l'un des liens que je affiche toujours les mêmes éléments figurant dans le "principal".
Quel est le problème?
Merci pour l'aide