Tout savoir sur WordPress
Tutoriel WordPress

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.

Cet article a été mis à jour il y a 4450 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

17 Commentaires

  1. 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.

  2. @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.

  3. 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

  4. @Thiers : Vous copiez le code et vous l’insérez dans le fichier de template où le widget doit apparaître.

  5. 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.

  6. C’est à dire ? Comment puis je connaitre le nom de la class de mon widget ?

    (Dsl je suis novice…)

    Merci pour ta réponse! :)

  7. Je ne peux pas plus vous aider. Il faut trouver l’information dans le code du plugin ou dans la documentation de celui-ci.

  8. 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.

  9. 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

  10. 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

  11. on peut aussi afficher le code de la page avec un widget, copier la partie du code, et la coller dans la page…