Afficher un widget sur une page
Grâce à la fonction the_widget() de WordPress, il devient possible d’ajouter le contenu d’un widget n’importe où dans une page ou dans un article.
Par défaut sur WordPress, on affiche les widgets dans nos différentes sidebars. Mais comment fait-on si l’on souhaite ajouter le widget “Articles Récents” en dehors d’une sidebar ?
Depuis la version 2.8, WordPress propose la fonction the_widget()
qui permet d’afficher le contenu d’un widget à n’importe quel endroit de notre thème. Cette fonction permet d’afficher tous les widgets de base présents dans WordPress, c’est-à-dire que l’on retrouve les widgets “Articles Récents”, “Calendrier”, “Catégories”, etc… La liste complète est présente sur le codex de la fonction.
La fonction the_widget()
dispose des paramètres suivants :
$widget
est la classe PHP du widget$instance
regroupe les paramètres du widget lui-même$args
regroupe les paramètres d’affichage du widget
Voici un exemple d’utilisation pour afficher une liste des 4 derniers commentaires :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
<?php the_widget('WP_Widget_Recent_Comments', 'number=4'); ?>
[/pastacode]
Pour plus d’informations sur la fonction the_widget(), rendez-vous sur le codex WordPress.
17 Commentaires
Bonjour et merci déjà pour toutes ces astuces.
Dans quel fichier doit être placée cette fonction pour qu’elle fonctionne ? dans le page.php du theme ? dans la fichier functions.php ?
Merci d’avance.
@Jonathan : merci beaucoup, je pense qu’elle va m’être très utile.
@Neuroneweb : On peut l’insérer sur toutes les pages sauf dans le fichier functions.php car la fonction the_widget() retourne un echo qui affiche automatiquement le widget.
Bonjour,
Je n’ai pas compris : ”
@Neuroneweb : On peut l’insérer sur toutes les pages sauf … ” . Pouvez préciser comment et/ou où mettre le code ” pour une page donnée ?
Merci
@Thiers : Vous copiez le code et vous l’insérez dans le fichier de template où le widget doit apparaître.
Bonjour,
J’aimerais mettre un widget tchat dans une page….
Peux tu m’aider stp
Merci
Bonjour,
Article très intéressant pour mettre un flux RSS sur une page via le widget natif de wordpress.
Merci.
Super pratique, merci !
Bonjour,
Super les infos mais comment faire avec des widgets qui ne sont pas de “bases” sur Worpress ?
Je souhaiterais insérer le widget NextGen Gallery sur 1 page précise de mon site.
Merci d’avance.
@BlancKiwi: Il vous faut connaître le nom de la class du widget de NextGent Gallery.
C’est à dire ? Comment puis je connaitre le nom de la class de mon widget ?
(Dsl je suis novice…)
Merci pour ta réponse! :)
Je ne peux pas plus vous aider. Il faut trouver l’information dans le code du plugin ou dans la documentation de celui-ci.
Bonjour,
Votre article est intéressant mais il concerne les pages seulement. Savez-vous comment il est possible d’ajouter les widgets sur les catégories de produits (j’utilise woocommerce) et non sur les pages ?
Merci d’avance.
@Leyla: La fonction doit ponctionnée dans n’importe quel template.
Bonjour,
Je suis novice sur wordpress. J’ai créer un site et maintenant j’aimerai inseré dans une page du site un code que l’on m’a envoyé pour un widget d’un vente en ligne, et je suis complétement perdue… :-(
Pourriez vous me donner quelques infos???
Merci beaucoup
Sarah
Bonjour,
Et si on veut qu’un widget par exemple celui de la newsletter soit visible unique à ceux qui ne sont pas inscrit, comment on fait ?
merci
on peut aussi afficher le code de la page avec un widget, copier la partie du code, et la coller dans la page…