Dans WordPress, les codes courts ne peuvent être utilisés que dans les articles et les pages par défaut, et ne peuvent pas être utilisés dans les widgets. Cependant, cette fonction peut être activée à l'aide des fonctions Filtre et widget_text
do_shortcode()
, permettant au widget de texte d'analyser tout shortcode existant.
Autoriser les shortcodes dans le widget de texte
WordPress fournit plusieurs widgets par défaut. Le widget de texte vous permet d'ajouter n'importe quel texte au widget ou à tout code HTML. Cela signifie que vous pouvez également utiliser le code JavaScript dans ce widget, donc c'est très puissant. Cependant, si vous avez besoin de plus de fonctionnalités, comme un script PHP qui accède à certaines données stockées dans le serveur, ce widget ne vous aidera pas par défaut.
C'est similaire à l'article. C'est pourquoi, comme dans l'article, nous voulons pouvoir utiliser Shortcodes pour faire ce que nous voulons. Pour ce faire, nous pouvons utiliser le filtre widget_text
. Ce filtre est utilisé pour permettre la modification du contenu du widget de texte. Nous l'utiliserons ici pour demander à WordPress d'analyser les shortcodes dans ce widget.
L'analyse des codes courts dans WordPress est obtenue via la fonction do_shortcode()
. Il accepte un paramètre requis, à savoir le texte à analyser et renvoie le texte analysé. Cela signifie que nous pouvons utiliser cette fonction directement comme une fonction de rappel pour le filtre widget_text
.
Le code suivant peut être utilisé dans le fichier functions.php
du fichier plug-in ou le thème:
<?php add_filter('widget_text', 'do_shortcode'); ?>
Tout raccourci existant que vous tapez dans le widget de texte sera désormais analysé.
Créer un nouveau widget de raccourcis
Alternativement, nous pouvons créer nos propres widgets. Étant donné que le widget "texte" par défaut fonctionne bien, nous pouvons simplement ajuster son code à partir du code suivant (situé dans le fichier /wp-includes/default-widgets.php
). Il convient de noter que nous devons créer nos propres plugins et ne jamais modifier le fichier WordPress de base.
<?php class WP_Widget_Text extends WP_Widget { public function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('text', __('Text'), $widget_ops, $control_ops); } // ... (其余代码与原文相同) ... } ?>
Nous n'avons pas besoin de changer beaucoup. La première chose à changer est le nom de la classe. J'ai choisi de le nommer WP_Widget_Shortcodes
, mais vous pouvez choisir n'importe quel nom que vous aimez. Étant donné que ce type de constructeur met en place des informations sur le widget lui-même, nous devons également le modifier.
<?php public function __construct() { $widget_ops = array('classname' => 'widget_shortcodes', 'description' => __('Arbitrary text or HTML with shortcodes.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('shortcodes', __('Shortcodes'), $widget_ops, $control_ops); } ?>
Un autre endroit qui doit être modifié est dans la méthode widget()
, qui décrit comment WordPress affiche les widgets. Nous modifions le contenu de la variable $text
contenant le texte à afficher. Nous supprimons l'appel au filtre widget_text
et appliquons la fonction do_shortcode()
à ce contenu.
<?php add_filter('widget_text', 'do_shortcode'); ?>
Ensuite, nous devons enregistrer notre widget afin que nous puissions l'ajouter comme n'importe quel autre widget. Cela peut être fait via l'opération widgets_init
, qui sera déclenchée une fois que WordPress enregistre le widget par défaut.
<?php class WP_Widget_Text extends WP_Widget { public function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('text', __('Text'), $widget_ops, $control_ops); } // ... (其余代码与原文相同) ... } ?>
Vous pouvez maintenant trouver notre widget dans la liste des widgets disponibles. Vous pouvez l'ajouter à n'importe quelle zone compatible et il expliquera tous les codes shortcodes que vous utilisez.
Conclusion
Comme mentionné ci-dessus, l'activation des shortcodes dans les widgets n'est pas compliquée, mais vous devez être prudent. En fait, tous les raccourcis ne conviennent pas pour afficher l'emplacement d'un widget. Si le code court a une largeur fixe, cela pourrait être un problème.
Notez que les modifications que nous utilisons dans le widget de texte par défaut sont minimes. Si vous souhaitez personnaliser le widget, vous pouvez changer autre chose.
(Ce qui suit est un travail pseudo-original dans la partie FAQ d'origine. La méthode d'expression est ajustée tout en maintenant la cohérence du contenu)
FAQ sur l'utilisation des codes courts dans les widgets WordPress
L'utilisation de shortcodes dans les widgets WordPress vous permet d'ajouter des fonctionnalités spécifiques sans écrire de code, ce sont des raccourcis vers des fonctions complexes. Par exemple, vous pouvez utiliser des codes courts pour intégrer des fichiers, créer des objets ou insérer du contenu spécifique dans des articles ou des pages. En utilisant des codes Short dans les widgets, vous pouvez étendre ces fonctionnalités à la barre latérale ou à d'autres zones de widgets de votre site Web, en améliorant l'expérience utilisateur.
Pour ajouter un shortcode à un widget WordPress, accédez à la section des widgets en apparence dans le tableau de bord WordPress. Faites glisser et déposez le widget de texte dans la zone du widget souhaité. Dans le champ de texte du widget, entrez un code court enfermé entre crochets []
. Cliquez sur Enregistrer pour appliquer les modifications.
Si votre shortcode ne fonctionne pas dans un widget, cela peut être dû à plusieurs raisons: le shortcode peut être incorrect ou le plugin qui fournit le raccourci peut être désactivé. Assurez-vous que le shortcode est correct et que les plugins nécessaires sont actifs. Si le problème persiste, il peut entrer en conflit avec d'autres plugins ou thèmes. Essayez de désactiver un autre plug-in ou de passer au thème par défaut pour dépanner.
Oui, vous pouvez utiliser plusieurs shortcodes dans un seul widget. Assurez-vous simplement que chaque shortcode est enfermé entre crochets et qu'il existe des espaces entre les différents shortcodes.
Pour créer votre propre shortcode pour le widget, vous devez ajouter une fonction personnalisée dans le fichier functions.php
du thème. Cette fonction doit définir la fonction du shortcode. Après avoir défini la fonction, vous pouvez utiliser la fonction add_shortcode()
pour créer un nouveau shortcode.
Les codes courts peuvent être utilisés dans n'importe quel widget qui accepte l'entrée de texte. Cela inclut le widget texte, le widget HTML personnalisé et d'autres widgets. Cependant, tous les widgets ne prennent pas en charge les shortcodes.
do_shortcode
dans WordPress? dans WordPress est utilisée pour rechercher des codes shortcodes dans le contenu et filtrer les codes shortcodes à travers ses crochets. Il vous permet en fait d'utiliser des shortcodes en dehors de l'éditeur d'article, comme dans les widgets ou les fichiers de thème. do_shortcode
dans des plug-ins ou des fichiers de thème. add_shortcode
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!