Nous voulons concevoir la page des widgets dans le panneau d'administration un peu différemment, principalement pour aider l'administrateur du site à comprendre où chaque widget apparaîtra sur le site:
Pour cela, nous devons changer le code HTML rendu par widgets.php (il ne suffit pas de changer le CSS). Comment procéderions-nous sans toucher au cœur?
widgets
wp-admin
core-modifications
Lea Cohen
la source
la source
Réponses:
Si vous mettez à niveau votre WordPress vers la version 3.3.1, ce que vous devez absolument faire, chaque zone de widget de l'administrateur dispose désormais d'un ID que vous pouvez utiliser pour cibler via CSS, ce qui devrait vraiment suffire. Voir http://core.trac.wordpress.org/ticket/18334 pour un exemple.
la source
Je ne peux pas sortir la question de ma tête, mais je n'ai pas le temps pour une solution complète. Donc, je viens d'écrire mon idée ici, puis je fixerai une petite prime.
Il y a une action
'widgets_admin_page'
auwp-admin/widgets.php
dessus de l'autre contenu. Vous pouvez placer une zone d'aperçu ici.Exemple de code:
Cela imprime un tableau de toutes les barres latérales enregistrées. Vous devez parcourir toutes les barres latérales pour trouver les widgets enregistrés.
Pour rendre l'aperçu utile, vous avez besoin de deux fichiers: un modèle HTML et une feuille de style.
J'utiliserais
add_theme_support()
.Exemple de code pour le thème
functions.php
:Dans
show_widget_preview()
vous mettez en file d'attente la feuille de style et chargez le modèle. Rendez les barres latérales enregistrées dans les espaces réservés prédéfinis danswidget-preview.php
.Mettez à jour le modèle par AJAX après que l'utilisateur a appuyé sur le bouton Enregistrer dans un widget.
Défis: Tenez compte du mode d'accessibilité, des petites fenêtres et des conflits CSS. Afficher un message utile lorsqu'aucune barre latérale n'est enregistrée (descriptions de la barre latérale?). Que doit-il se passer lorsqu'un utilisateur essaie de faire glisser un widget dans la zone d'aperçu? :)
la source
la réponse courte est que vous ne pouvez pas, non sans toucher le cœur.
cependant, vous pouvez définir la description de chaque zone de widget (le texte sous le titre de la zone de widget) dans la fonction register_sidebar.
la source