WordPress
time_read30mn de lecture

Comment créer un widget personnalisé WordPress ?

19 octobre 2022

Comment créer un widget personnalisé WordPress ?

Les widgets WordPress permettent d’ajouter des fonctionnalités supplémentaires à votre site. Lorsque WordPress est installé sur un espace d’hébergement, il s’installe avec un certain nombre de widgets standards. Ces derniers sont compatibles avec la plupart de thèmes et de plugins que vous pouvez utiliser sur votre site. 😇

WordPress est un logiciel open source. En quelque sorte, vous pouvez le personnaliser comme vous le voudrez et l’adapter entièrement à vos besoins. Ainsi, créer un widget personnalisé WordPress est quelque chose que vous pouvez faire rapidement, quelles que soient vos compétences techniques.🤭

Objectif

Dans cet article, vous allez découvrir comment créer un widget WordPress personnalisé. Bien que ce processus soit accompagné de quelques manipulations techniques, en lisant ce guide jusqu’à la fin, vous n’aurez plus de difficulté à créer des widgets personnalisés sur votre site.🤗

Prérequis

widgets WordPressLa création d’un widget personnalisé est un court processus, mais technique. Vous devez premièrement avoir quelques notions de base en PHP. Ensuite, vous devez choisir l’environnement dans lequel vous souhaitez concevoir votre projet.

Il n’existe pas de code parfait. Il est donc fortement conseillé de tester votre code dans un environnement de test avant de l’ajouter à votre site web en production. Notez que si vous travaillez directement sur votre site en ligne, tout ajout d’un code erroné peut entraîner une panne.

La meilleure option pour prévenir les erreurs consiste à créer un site de développement. Une fois que vous êtes sûr de l’avoir bien configuré, vous pouvez le porter sur votre site en ligne.

Les widgets WordPress en quelques points

créer un widget personnalisé WordPressLorsque vous installez WordPress, il intègre un nombre assez important de fonctionnalités natives pour faire fonctionner un site. Les widgets sont une des fonctions de base de WordPress. Ils sont compatibles avec presque tous les thèmes et plugins WordPress classiques.

Les widgets permettent d’ajouter des nouvelles fonctionnalités à votre site. Ils sont utiles par exemple d’ajouter des menus dans la barre latérale, d’afficher les boutons de réseaux sociaux ou encore configurer une barre de recherche. Vous pouvez aussi les utiliser pour afficher des éléments dans le pied de pages de votre site notamment un formulaire d’abonnement aux newsletters, un flux RSS, des publications associées, des archives ou encore des catégories).

Par défaut, WordPress intègre des widgets pour approximativement tout faire. Certains thèmes et plugins peuvent même ajouter des widgets supplémentaires à la liste. Cependant, il arrive parfois que vous vouliez une fonctionnalité qui n’est pas disponible dans les widgets standards de WordPress. Vous devez dans ce cas, créer votre propre widget entièrement personnalisé.

Les fonctions techniques pour créer un widget personnalisé

La création de widgets personnalisés fait appel à la classe WP_Widget {} standard de WordPress. Pour créer et publier votre widget, vous avez besoin de 4 fonctions de base. Cependant, la liste de fonctions que vous pouvez utiliser est bien plus large. WordPress dispose en effet d’environ 20 fonctions utilisables pour personnaliser la structure de widgets.

Les 4 fonctions de base sont les suivantes :

  • __construct() : cette fonction permet d’ajouter les différents paramètres de votre widget personnalisé.
  • widget() : elle définit la sortie du widget. C’est cette fonction qui gère l’affichage de votre widget sur l’interface publique de votre site.
  • form() : définit les options disponibles dans les paramètres de votre widget en sortie dans l’espace d’administration de votre site.
  • update() : cette fonction est utilisée pour mettre à jour les paramètres de votre widget.

Nous allons créer un widget simple pour vous donner une idée sur la façon de procéder avec ces fonctions de base.

Trucs et astuces


Vous souhaitez ajouter plus de fonctions à votre widget ? Rendez-vous sur la page développeurs WordPress pour visualiser la liste complète des fonctions autorisée.

6 étapes pour créer un widget personnalisé WordPress

La manière la plus sécurisée consiste à construire votre code en dehors de votre site. Ensuite, le code sera ajouté au fichier functions.php du thème qui est actuellement activé sur votre site.

Dans notre exemple, nous allons créer un widget nommé LWS Widget. Pour construire la structure de votre widget, vous pouvez utiliser n’importe quel éditeur de texte en suivant les étapes ci-dessous :

Étape 1 : étendre les fonctionnalités de la classe WP_Widget

La première étape consiste à vous rendre dans votre éditeur de texte et d’ajouter le code ci-dessous :

class LWS_widget extends WP_Widget {
//Insert functions here
}

Ces lignes de codes servent à étendre la classe basique WP_Widget et ouvrir la voie de la création d’une nouvelle classe.

L’étape suivante consiste à ajouter progressivement les fonctions servant à personnaliser votre widget.

Étape 2 : ajouter la fonction __construct()

La méthode __construct() est celle qui va servir à définir les différents paramètres structurels de votre widget. Cette dernière permet de déterminer le nom, l’ID ainsi que la description du widget que vous souhaitez créer. Le code à ajouter à votre fichier ressemble à celui-ci :

function __construct() {
parent::__construct(
// widget ID
'LWS_widget',
// widget name
__('LWS premier Widget', 'LWS_widget_domain'),
// widget description
array ( 'description' => __( 'Notre premier widget LWS', 'LWS_widget_domain' ), )
);
}

Dans votre cas, vous devez définir votre propre nom, l’ID de votre widget ainsi que sa description dans les lignes respectivement dédiées à chaque paramètre.

Étape 3 : ajouter la fonction widget()

La fonction widget () contrôle la structure des éléments de votre widget sur l’interface publique. Dans notre exemple, nous ajoutons une simple expression qui sera affichée sous le widget. Ainsi, le code pour implémenter cette fonction est :

public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
echo $args['before widget'];
//if title is present
If ( ! empty ( $title ) )
Echo $args['before_title'] . $title . $args['after_title'];
//output
echo __( 'Voici notre premier widget LWS', 'LWS_widget_domain' );
echo $args['after_widget'];

Notre widget personnalisé va afficher l’expression “Voici notre premier widget LWS” sur l’interface publique. Vous pouvez ajouter tout ce qui vous semble pertinent pour votre widget grâce à la fonction widget ().

Étape 4 : ajouter la méthode form()

Avec cette fonction, vous créez un formulaire qui sera utilisé depuis le tableau de bord de votre site pour personnaliser la structure de votre widget. Pour cela, vous pouvez utiliser les lignes de codes ci-dessous :
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) )
$title = $instance[ 'title' ];
else
$title = __( 'Entrer le titre de votre widget', 'LWS_widget_domain' );
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}

Le formulaire créé inclut l’élément titre qui permettra de modifier directement et à n’importe quel moment le titre de votre widget personnalisé depuis votre espace d’administration.

Étape 5 : ajouter la fonction update()

Vous devez ensuite permettre la mise à jour instantanée de paramètres de votre widget lorsqu’ils sont modifiés en configurant la fonction update(). Ajoutez le code ci-dessous :

public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}

Étape 6 : enregistrer le widget

Une fois que vous avez terminé ces étapes, votre widget est créé, mais il n’est pas enregistré par WordPress. L’enregistrement est effectué en utilisant une fonction spécifique : add_action (). Gardez à l’esprit que cette dernière ne doit pas être incluse dans la structure de votre widget.

Pour enregistrer votre widget, ajoutez le code ci-dessous juste en haut de la première ligne de code qui commence la structure de votre widget personnalisé :

function LWS_register_widget() {
register_widget( 'LWS_widget' );
}
add_action( 'widgets_init', 'LWS_register_widget' );

Ajouter le widget personnalisé au fichier functions.php

Vous devez par la suite ajouter le code de votre widget au fichier functions.php de votre site afin qu’il soit accessible en ligne.

Pour accéder à ce fichier, vous pouvez utiliser un client FTP, notamment FileZilla ou encore le gestionnaire de fichiers (File Manager LWS Panel ou gestionnaire cPanel) intégré dans votre compte d’hébergement.

Suivez le chemin « public_html › wp-content › thème › thème actif » pour trouver le fichier functions.php de votre thème.

En suivant respectivement les précédentes étapes, le code final de votre widget devrait ressembler à celui-ci :

function LWS_register_widget() {
register_widget( 'LWS_widget' );
}
add_action( 'widgets_init', 'LWS_register_widget' );
class LWS_widget extends WP_Widget {
function __construct() {
parent::__construct(
// widget ID
'LWS_widget',
// widget name
__('LWS premier Widget', ' LWS_widget_domain'),
// widget description
array( 'description' => __( 'Premier Widget LWS', 'LWS_widget_domain' ), )
);
}
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
echo $args['before_widget'];
//if title is present
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];
//output
echo __( 'Voici notre premier widget LWS', 'LWS_widget_domain' );
echo $args['after_widget'];
}
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) )
$title = $instance[ 'title' ];
else
$title = __( 'Entrer le titre de votre widget', 'LWS_widget_domain' );
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}

Enregistrez vos modifications une fois que vous avez ajouté votre code à la fin du fichier functions.php.

Afficher votre widget personnalisé sur votre site WordPress

Votre widget est maintenant intégré à votre site. Cependant, comme pour tous les autres widgets, il ne peut être accessible sur le front-end de votre site que si vous l’intégrez dans la barre latérale ou dans le pied de page de votre site.

Ainsi, accédez à l’espace d’administration et rendez-vous dans la section « Apparence › widgets ». Ensuite, choisissez l’emplacement où vous souhaitez afficher votre widget et cliquez sur le bouton « + ».cliquer sur le bouton +Une fois que vous avez cliqué sur le bouton indiqué, un tableau contextuel avec les widgets s’affiche sur votre écran. Recherchez le widget personnalisé que vous avez créé.LWS premier WidgetCliquez sur votre widget afin de l’ajouter à l’emplacement précédemment choisi. Ensuite, personnalisez le titre de votre widget dans la zone prévue.Déterminer le titre du widgetVous devez terminer votre configuration en cliquant sur le bouton « Mettre à jour ».mettre à jour votre siteEt voilà, votre widget est désormais accessible en ligne.👏affichage widget sur l'interface publiqueCeci est un exemple d’un simple widget que vous avez créé. Vous pouvez ensuite utiliser d’autres fonctions fournies par WordPress afin de personnaliser davantage votre widget.

Conclusion

🥳 Félicitations ! Vous savez maintenant comment créer un widget personnalisé WordPress. Suivez minutieusement ces étapes et la création de widgets personnalisés dans WordPress ne sera plus un problème pour vous.

Vous avez des questions sur les différentes étapes de création d’un widget personnalisé WordPress ? Écrivez vos préoccupations dans la section Commentaires.

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.