J'ai écrit mon premier widget simple WP - tout fonctionne bien, mais j'aimerais l'habiller un peu et ajouter une image/un logo dans le code d'affichage du widget.
Comment conditionner le widget (qui n'est qu'un fichier PHP) avec l'image, et où l'image sera-t-elle stockée dans le site WP (afin de pouvoir créer la balise img lien correctement)?
Je sais que je pourrais facilement héberger l'image à l'extérieur et simplement "hotlink" depuis mon widget, mais cela me semble un peu hackish.
Merci
Il semble que vous ayez besoin de la fonction plugins_url()
qui génère l'URL du répertoire des plugins et peut gérer toute autre configuration (par exemple, si vous l'avez déplacée vers le répertoire /mu-plugins/
, un de mes favoris personnels). La documentation du Codex est bonne, mais voici un exemple rapide.
/wp-content/plugins/my_awesome_widget/
./wp-content/plugins/my_awesome_widget/assets/images/
. company_logo.png
.Donc, pour obtenir l'image, vous utiliseriez un extrait de code comme ceci:
<?php printf(
'<img src="%1$s" alt="{YOUR COMPANY} logo" />',
plugins_url( '/assets/images/company_logo.png', __FILE__ )
); ?>
Si tout se passe bien, cela affichera:
<img src="http://example.com/wp-content/plugins/my_awesome_widget/assets/images/company_logo.png" alt="{YOUR COMPANY} logo" />
Vous ne pouvez pas distribuer/installer un widget tout seul. Il y a plusieurs façons d'étendre WordPress:
"Widget" n'est pas une fonctionnalité extensible. Il n'y a aucun moyen d'insérer cela directement, donc le code de widget doit être écrit dans un thème ou dans un plugin. Dans votre cas, cela ressemble à ce dernier, alors mettez l'image dans le dossier avec le plugin.
En d'autres termes, vous devez créer un plugin pour charger le widget et vous fournir un emplacement pour placer votre fichier image, ainsi que tous les autres fichiers. vous pourriez avoir besoin.