Aujourd’hui je vous propose quelques petits outils sans prétention mais qui me facilitent grandement la vie lors de mes développements WordPress. Certains que j’utilise depuis un moment, d’autres plus récents, je me suis enfin décidé à en faire un plugin pour faciliter leur installation et les améliorer.
Bien sûr ce plugin s’adresse aux développeurs de thèmes ou de plugins, et ne sera d’aucune utilité au commun des mortels ;)
Ces outils se présentent sous la forme d’un onglet dans la barre d’administration.
Côté administration
L’onglet affiche le nombre de requêtes sur la page avec get_num_queries()
et le temps de chargement de la page avec timer_stop()
.
Un clic sur l’onglet va rétracter la barre d’administration à droite.
Pour quoi faire ? Vous n’avez jamais remarqué que certaines notices php ont la fâcheuse tendance de venir se nicher derrière la barre d’admin ? Pénible hein ? Avec ce petit truc on peut facilement lire ce qui se cache derrière. Au passage j’ai utilisé localStorage de l’HTML5 pour garder indéfiniment en mémoire l’état de la barre d’admin lorsqu’on change de page.
Autre info souvent utile, cette fois disponible dans le sous-menu dépliant, la valeur de $screen_id (l’identifiant de la page courante, pour rappel).
Bon, et j’en ai profité pour ajouter un petit « truc en plus » qui aide pas au développement mais ça faisait longtemps que je voulais faire ça. Et comme en plus Julio nous a sorti le CSS adéquat il y a quelques jours, il n’y avait plus qu’à copier/coller. Bref, un clic et on fait flotter le menu d’administration. Là aussi, sessionStorage garde ça en mémoire.
Côté site
On garde l’affichage du nombre de requêtes et du temps de chargement, et la possibilité de masquer la barre d’admin. La fonction pour faire flotter le menu d’administration n’ayant plus d’intérêt ici, elle laisse place à une autre fonction parfois utile : afficher le contenu de la variable $wp_query.
Un clic et une lightbox apparait grâce à un appel ajax (un clic sur son titre pour la recharger, un clic sur un côté pour la fermer).
NOTES :
Navigateur moderne obligatoire (rassurez-moi, personne ne développe avec un dinosaure hein ?) car utilisation de CSS3 et sessionStorage sans fallback.
Le plugin insère une balise <style>
dans le head et un <script>
dans le footer (et une div pour la lightbox), donc pensez à désactiver le plugin quand vous avez fini.
Les outils sont disponibles seulement pour les administrateurs, ils ne viendront pas gêner les autres.
La valeur de $wp_query est prise en bas de page, elle a donc été remplie avec les posts, et potentiellement elle a pu être modifiée par un script intermédiaire (normalement non, si vous avez bien fait les choses ;)).
See ya.
Commentaires
Commentaire de Jeremy.
Un petit plugin bien sympathique, toujours pratique, bien joue !
Ca peut aussi etre intéressant de jeter un oeil à la Debug Bar, qui est un plugin developpé par les core developers, et qui permet de combiner tout un tas d’informations utiles lorsque WP_DEBUG est activé :
http://wordpress.org/extend/plugins/debug-bar/
Plusieurs développeurs ont aussi publié des extensions à la Debug bar, comme celle-ci :
http://wordpress.org/extend/plugins/debug-bar-extender/
Personnellement, ces deux plugins sont toujours activés sur mon installation WordPress de développement.
Commentaire de Roch Daniel.
Excellente idée de plugin.
Malheureusement, il est incompatible chez moi. Jquery étant chargé en asynchrone en dur dans mon thème, le plugin ne le reconnait et le lien en fancybox sur le WP-query ne fonctionne pas. :(
Commentaire de Greg.
Salut Daniel.
Ça ne me surprend pas trop, il y a en effet un petit bug dans le plugin : dans les dépendances de mon script JS, au lieu de marquer « jquery » j’ai mis « jQuery ». Une bête typo qu’il faudrait que je mette à jour. Mais comme je travaille sur la prochaine grosse version, j’ai pas encore pris le temps de rectifier le tir sur le repo.
BTW, ça te dirait de bêta-tester la prochaine version ? Il y a de gros changements, ce n’est plus le petit outil rangé dans un coin mais tout autre chose ^^ Après je ne te demanderais même pas d’explorer tout afin de trouver le moindre bug, mais juste de me les signaler lorsque tu en croise durant ton utilisation habituelle. Par contre il faut prévoir une session Skype de 5 à 10 minutes pour te montrer tout ça en partage d’écran :p
Si ça te tente je te mp mon pseudo skype sur Twitter :)
(d’autres bêta-testeurs sont également les bienvenus)
Commentaire de Greg.
Auto-réponse : tout dépend comment tu as ajouté jQuery sur tes pages aussi. Si c’est vraiment en dur sans utiliser le système d’enqueue ça risque de poser problème en effet (ouay, et là c’est pas ma faute hein =D).
Commentaire de Roch Daniel.
Ce serait avec plaisir => on voit ça sur Twitter ;)
Commentaire de Willy.
Moi aussi je veux bien beta-tester, si c’est toujours possible (je serais sur skype en soirée) ^^
Commentaire de Greg.
Yes, on fera un partage d’écran à plusieurs :)
Commentaire de Greg.
La V2 est dispo ici :)
Commentaire de Dipera D. Apecesinesa.
Bonjour;
L’outil est parfait.
Je souhaite réaliser un utilitaire similaire mais pour avoir l’accès au SGBD de PRODUCTION en lecture pour pouvoir faire des requêtes SQL (SELECT). Chaque fois il faut je passe par l’exploitant pour réaliser ses opérations et c’est assez long et pénible.
Petite précision : mon site WP est sur Internet => L’outil doit être full sécurisé et le client est Intransigeant sur ce point (audit de sécurité sur chaque plugin WP déployé).
S’il y’a déjà des outils qui convient ça m’évite de le réaliser ?
Merci
Commentaire de Grégory Viguier.
Salut.
Perso je ne connais aucune extension qui fait ça. Il faudrait peut-être poser la question sur le Slack de la communauté FR ou sur Twitter.