Accéder rapidement à l’édition d’un article WordPress sans barre d’administration

Lorsqu’on utilise un plugin de cache sur un site WordPress, il est recommandé de désactiver la barre d’administration sur le front-end. En effet, cette barre peut apparaître dans les versions mises en cache et être affichée par erreur à d’autres utilisateurs connectés, voire à des visiteurs non authentifiés. Pour autant, cette désactivation prive les administrateurs et éditeurs d’un accès rapide à l’édition du contenu à partir du Front End. Economisez des clics fastidieux avec une solution rapide à mettre en place, et sécuriser, pour passer en mode édition directement depuis une page du front-end. C’est plus confortable !
Pour concilier performances via la mise en cache et productivité éditoriale, une solution légère et efficace existe : un bookmarklet JavaScript capable de détecter automatiquement l’ID de l’article depuis le HTML déjà présent, et de rediriger directement vers l’interface d’édition.
Pourquoi éviter la barre d’administration sur le front-end ?
Par défaut, WordPress affiche une barre d’outils en haut des pages pour les utilisateurs connectés. Elle permet d’éditer le contenu, de naviguer dans l’administration ou d’accéder à certains réglages. Cependant, elle peut poser plusieurs problèmes sur un site optimisé pour la performance :
- Elle altère le DOM de la page, ce qui peut gêner certains thèmes ou scripts.
- Elle modifie le rendu visuel de la page (marge haute).
- Elle est souvent incluse dans le HTML mis en cache, ce qui peut engendrer des erreurs d’affichage ou des fuites de données.
C’est pourquoi de nombreux administrateurs WordPress utilisent la ligne suivante dans functions.php
pour la supprimer :
add_filter('show_admin_bar', '__return_false');
Une alternative discrète : le bookmarklet JavaScript
Le bookmarklet est un favori de navigateur contenant du JavaScript. Il agit comme un mini-script déclenché par l’utilisateur, sans modifier le HTML du site, ni passer par un plugin. Ici, le bookmarklet a un rôle très simple : détecter l’ID du contenu affiché sur la page, et rediriger vers la page d’édition dans l’admin.
Cette détection s’effectue de deux manières :
- En inspectant la balise JSON générée automatiquement par WordPress pour l’API REST.
- En analysant la classe CSS postid-xxxx présente dans la balise <body>.
Code du bookmarklet amélioré
Voici le code JavaScript complet. Il est à coller dans un nouveau favori de navigateur :
javascript:(function(){
var link = document.querySelector('link[type="application/json"][href*="/wp-json/wp/v2/posts/"]');
var id = null;
if (link) {
var match = link.href.match(/\/posts\/(\d+)/);
if (match && match[1]) {
id = match[1];
}
}
if (!id) {
var body = document.body;
var classMatch = body.className.match(/postid-(\d+)/);
if (classMatch && classMatch[1]) {
id = classMatch[1];
}
}
if (id) {
window.location.href = '/wp-admin/post.php?post=' + id + '&action=edit';
} else {
alert("Impossible de récupérer l'ID de l’article.");
}
})();
ou la version minifiée sur une ligne pour bookmarklet :
javascript:(function(){var id=null;var link=document.querySelector('link[type="application/json"][href*="/wp-json/wp/v2/posts/"]');if(link){var match=link.href.match(/\/posts\/(\d+)/);if(match&&match[1]){id=match[1];}}if(!id){var body=document.body;var classMatch=body.className.match(/postid-(\d+)/);if(classMatch&&classMatch[1]){id=classMatch[1];}}if(id){window.location.href='/wp-admin/post.php?post='+id+'&action=edit';}else{alert("Impossible de récupérer l'ID de l’article.");}})();
Installation du bookmarklet
- Ouvre ton navigateur.
- Crée un nouveau favori (clic droit dans la barre des favoris > « Ajouter une page »).
- Dans le champ URL, colle le code ci-dessus.
- Donne-lui un nom, par exemple “✏️ Modifier”.
Pour l’utiliser, clique simplement sur ce favori lorsque tu es sur une page de ton site WordPress. Si tu es connecté avec les droits suffisants, tu seras redirigé vers l’éditeur de l’article.
Avantages de cette solution
- Zéro impact sur le cache : le code s’exécute uniquement dans le navigateur, après le chargement de la page.
- Aucune modification du thème ou du HTML : tout repose sur des éléments déjà présents dans WordPress par défaut.
- Compatible avec la majorité des thèmes : Kadence, Astra, GeneratePress, etc.
- Sécurisé : seuls les utilisateurs connectés avec les droits suffisants pourront accéder à l’éditeur.
- Ultra léger : pas besoin de plugin supplémentaire.
Points à vérifier et améliorations possibles
- Compatibilité avec les Custom Post Types : ce bookmarklet ne détecte que les articles (post). Si ton site utilise des pages (
page
) ou des types personnalisés (produit, projet, etc.), il faut adapter le script pour identifier les bonnes balises JSON ou classes CSS. - Support des structures de thèmes personnalisés : certains thèmes désactivent la balise JSON ou utilisent une structure CSS différente dans
<body>
. Il peut alors être nécessaire d’adapter les sélecteurs CSS utilisés dans le script. - Fallback manuel : pour plus de robustesse, il serait judicieux d’ajouter un champ de saisie si l’ID ne peut pas être trouvé automatiquement.
Conclusion
Ce bookmarklet est une excellente alternative à la barre d’administration WordPress pour accéder rapidement à l’éditeur d’un article, sans exposer d’éléments sensibles dans le cache ni modifier la structure du site. En combinant deux méthodes de détection d’ID fiables (JSON API et class CSS postid-XXXX), il offre une solution simple, rapide et sécurisée pour les administrateurs et éditeurs de contenu WordPress. A vos claviers !
A lire également : Génération de vidéos IA avec une simple carte graphique 6 Go
Si vous appréciez nos articles, ne manquez les prochains en vous abonnant à Cosmo Games sur Google News, vous pouvez également nous suivre sur X (ex Twitter) en particulier pour les bons plans en direct. N'hésitez pas à partager vos réactions, commentaires ou remarques dans les commentaires, afin d'enrichir le contenu, de mieux vous comprendre et intégrer les différents points de vue. Un partage sur les réseaux sociaux nous aide également beaucoup, merci pour votre soutien !