Vous avez faits de gros changements sur votre site, supprimé des extensions, installé de nouvelles, etc. Et là, les shortcodes qui ne sont plus utilisés apparaissent en clair dans vos articles.
Voici une dizaine de lignes qui vous permettront de masquer ces indésirables, le temps de les supprimer définitivement de tous vos contenus.
À mettre comme d’habitude dans le fichier functions.php de votre thème WordPress.
123456789
// !Remove unused shortcodes
add_action ( 'init', 'sf_remove_unused_shortcodes', PHP_INT_MAX );
function sf_remove_unused_shortcodes() {
$scr = array('super_video', 'mon_poney', 'lightbox', 'extreme_gallery');
foreach ( $scr as $sc ) {
remove_shortcode($sc);
add_shortcode($sc, '__return_false');
}
}
Ha oui, il faut bien sûr savoir à l’avance qui sont ces indésirables, et les lister dans le tableau que j’ai appelé $scr
dans mon code.
Ce que fait ce petit bout de code est au final très simple : on lui donne une liste de shortcodes à masquer, le code les supprime (en fait cette étape n’est pas obligatoire, elle permet au final de masquer des shortcodes qui existent encore – un caillou, 2 oiseaux), et enfin les enregistre à nouveau, mais utilise pour ça une fonction que ne fera rien. Résultat, aucun contenu n’est imprimé dans la page, le shortcode est donc masqué.
See ya!
Commentaires
Commentaire de Julio Potier @ BoiteAWeb.
Encore toi ? C’est tous les jours maintenant ? bon allez ;)
Le problèmes des shortcodes est récurrents, les développeurs de thèmes le savent et en ajoutent des tonnes dans leurs thèmes, parfois ça appate, les beaux boutons tous beaux, plein d’images en dur sans CSS ni sprites …
Et dans tous leurs thèmes, ils les incluent, pour que vous restiez chez eux bien sûr.
Si vous changez de crèmerie, vous perdez les shortcodes et ils le savent. Les vilains.
Vous avez pourtant plusieurs solutions pour ne pas être embêtés avec ça :
1- Si le thème le permets, il vous faut récupérer le fichier des shortcodes et sa feuille de style associée, ensuite vous les réutilisez dans votre nouveau thème. Le problème est que parfois les shortcodes utilisent des fonctions du thèmes qui sont dans un autre fichier, et là vous commencez à inclure et inclure trop de choses « juste » pour les shorcodes :/ exit.
2- Redéclarez les shortcodes vous mêmes. Si vous savez les coder, alors refaites les simplement. Si le shortcode [button] vous affichait un beau bouton en CSS, refaites le ! Si vous ne savez pas, exit.
3- Redéclarez, mais simplement. Si c’est plutôt des shortcodes du genre [toto]du contenu[/toto], la technique de Greg va supprimer le « du contenu », si vous souhaitez tout de même afficher le contenu, tout en perdant les fonctionnalités natives du shortcode, faites une fonction simple que vous linkerez :
123456
4- Supprimez TOUS les shortcodes des contenus, sauf leur contenu, mais tous vraiment, les galeries etc avec ce code :
123
N’empêche que, les shortcodes, c’est vraiment très utile, perso je ne fais que ça de les utiliser, d’en créer afin de me faciliter la rédaction des articles et aussi, ça me permets justement de réutiliser facilement un shortcode si je change de thème etc.
Allez, à demain ?
Commentaire de Grégory Viguier.
Encore toi ?
Tu vas venir faire les articles à ma place toi x)
« Allez, à demain ? »
Chiche
Commentaire de Julio Potier @ BoiteAWeb.
Tu viens de me proposer un guest ou j’ai rêvé ? 8)
Commentaire de Grégory Viguier.
Genre t’as jamais publié ici et t’as besoin d’une invitation…
Commentaire de Julio Potier @ BoiteAWeb.
C’est pas parce que je suis déjà venu chez toi que j’ai les clés x)
Commentaire de Grégory Viguier.
T’en as pas besoin, tu peux rentrer où tu veux de toute façon x)
Commentaire de Li-An.
À noter que de plus en plus souvent, les concepteurs de thème payant proposent leurs shortcodes en plugin « à côté ». Et même proposent ce plugin dans le dépôt pour attirer des éventuels clients. Une évolution plutôt positive.
Commentaire de Grégory Viguier.
Salut.
Je te croirais sur parole, je ne regarde pas trop ce que font les dev de thèmes. C’est en effet plutôt positif oui. On le répète assez souvent, certaines choses devraient être dans le thème et d’autres dans des plugins.
Merci pour ton message :)
Commentaire de Arnaud @ Concerts en Boîte.
Pour moi les shortcodes sont une plaie. Je préfère inclure directement dans le thème et ne pas avoir à gérer ça dans chaque billet.
Pas plus tard que la semaine dernière, j’ai supprimé ce genre de shortcode dans les 410 billets du site : c’était pour un sommaire pour chaque billet !! J’ai vite compris que ce sera plus rapide via PhPMyadmin, à la main, j’avais pas de sauvegarde et du temps à perdre.
Aujourd’hui, je n’ai plus que le shortcode de NextGen dans le billet..lui je n’arrive pas à l’enlever mais c’est vraiment propre à chaque billet.
Commentaire de Julio Potier @ BoiteAWeb.
haaa dommage. Tu pouvais remplacer ton shortcode par ce que tu voulais en 2 lignes de code, que tu aies 10 ou 10000 articles à retoucher si tu avais trouvé cet article avant !
Les shortcodes c’est vraiment trop bon :D (non ironique)
Commentaire de Arnaud @ Concerts en Boîte.
Julio,
Dans mon soucis d’uniformité et de minimisation des plugins inutiles, les shortcodes ne m’apportent pas grand chose. J’ai la volonté d’avoir des billets très semblables, le plus simple à gérer et paramétrer.
Outre mon obligation à l’ajouter à chaque fois au même endroit et l’envie de tout coder quand c’est humainement possible, se pose des soucis de pérennité si jamais le plugin n’évolue plus . C’était le cas de ce sommaire, plugin de plus de 4 ans ; tout à fait fonctionnel mais il ajoutait du javascript inutile et faisait merder ma validation HTML5 (oui oui je m’amuse comme je peux !).
Enfin, utilisant à fond les snippets, j’avais mon sommaire systématiquement en donnée quand j’incluais « the_content » ..c’était intellectuellement dérangeant car ce n’est pas le coeur de l’information.
Sinon, oui, cette rustine aurait été parfaite pour au moins masquer le shortcode le temps que je le supprime partout. ;) mais je le répète, j’avais du temps à perdre…et ça m’a permis de voir que l’on peut éditer des champs dans PhpMyadmin sans rentrer dans une ligne, à grand coup d’Ajax :).
Enfin, je ne suis pas de votre niveau, mon utilisation de WordPress et surtout mes compétences en PHP sont plus que minimalistes même si je suis très pragmatique ! Ma vision des shortcodes doit donc s’en ressentir.