Comment trouver et supprimer les shortcodes inutilisés dans WordPress

WordPress fait grand usage des shortcodes car ils sont le moyen le plus facile et le plus pratique d’ajouter des fonctionnalités à votre site. En fait, la plupart des thèmes et plugin Premium de WordPress utilisent intensivement les shortcodes pour afficher différents widgets et fonctionnalités.

Mais comme tout, les shortcodes ont un désavantage. Lorsque vous changez de thème ou supprimez un plugin, les shortcodes persistent. Ces shortcodes inutilisés semble être cryptés et ne sont guère attrayants pour les visiteurs de votre site.

Comment supprimer les shortcodes WordPress inutilisés?

Comment supprimer les shortcodes WordPress inutilisés?

Vous l’aurez compris, dans cet article, je vais vous expliquer comment supprimer les shortcodes inutilisés dans WordPress.

D’où proviennent les shortcodes inutilisés?

Dans l’écosystème WordPress, il y a deux façons d’ajouter des shortcodes: les thèmes et les plugin. Si vous utilisez un thème qui inclut des shortcodes, lorsque vous changerez de thème, vous aurez des shortcodes inutilisés. De même lorsque vous utilisez un plugin, en le désactivant ou en le supprimant vous aurez des shortcodes inutilisés.

Comment supprimer les shortcodes WordPress

Comment trouver les shortcodes inutilisés?

Les utilisateurs de WordPress installent souvent des plugin pour ajouter des fonctions spécifiques à leur site. Très souvent, ces plugin contiennent un ou plusieurs « shortcode » pour simplifier l’affichage du contenu. Malgré que plugin et shortcode fonctionnent très bien, un jour, vous trouverez un autre plugin qui fonctionnera mieux, ou vous déciderez simplement de ne plus utiliser le plugin en question.

Si vous désactivez le plugin original sans enlever les shortcodes contenus dans les pages et les articles de votre site, vous allez vous retrouver avec de nombreux shortcode inutilisés, qui ne feront rien d’autre que de gêner votre site.

C’est alors qu’intervient le plugin Unused Shortcodes.

Supprimer les shortcodes inutilisés - Unused Shortcodes

 

Unused Shortcodes

Il suffit d’entrer la balise du shortcode, et le plugin affichera une liste des pages et/ou des articles qui contiennent cette balise particulière. Vous pourrez ainsi rapidement éditer la page, ou l’article, afin de supprimer ou de modifier le shortcode dont vous avez besoin.

Si vous n’arrivez pas à vous rappeler tous les shortcodes que vous voulez vérifier, essayez le plugin Edit Screen Shortcode Lister.

Supprimer les shortcodes inutilisés - Edit Screen Shortcode Lister

Edit Screen Shortcode Lister listera les shortcodes disponibles sur votre site.

screenshot-3

 

Supprimer les shortcodes inutilisés de la base de données

Rappel: Avant toute modification dans la base de données ou dans le code, faites une sauvegarde complète de votre site.

Il existe différentes méthodes pour supprimer les shortcodes inutilisés dans WordPress.

La première façon, ce n’est pas la plus simple, est d’exécuter une requête SQL. Cette méthode fonctionne très bien si vous avez seulement un shortcode à supprimer et que vous savez exactement duquel il s’agit.

Pour exécuter la requête, ouvrez votre console de gestion de SQL, comme phpMyAdmin, et exécutez la requête ci-dessous:

UPDATE wp_post SET post_content = replace(post_content, '[shortcode_name]', '' ) ;

N’oubliez pas de remplacer « shortcode_name » par le véritable nom du shortcode (par exemple: column). Lorsque vous exécuterez la requête, WordPress supprimera tous ces shortcode de la base de données.

Supprimer les shortcodes inutilisés en utilisant du code PHP

Bien que la méthode ci-dessus fonctionne parfaitement, cette méthode supprime complètement les shortcodes de la base de données et, par conséquent, si vous réactivez le thème ou le plugin, vous devrez ajouter manuellement tous les shortcodes supprimés, afin qu’il fonctionnent à nouveau. Pas très commode!

Donc, si vous ne voulez pas totalement supprimer les shortcodes, il vous suffit de copier de et coller l’extrait de code ci-dessous dans le fichier « functions.php » de votre thème (peu recommandé) ou dans un plugin spécifique à votre site.

// Code to unused remove shortcodes
add_shortcode('shortcode_name', 'binf_remove_shortcode');
function binf_remove_shortcode(){
	return '';
}

Dans le code ci-dessus, remplacez « shortcode_name » par le véritable nom du shortcode.

Le code ci-dessus remplacera tous les shortcodes indiqués par des chaînes vides. Si jamais vous voulez réactiver les shortcodes, il suffira de retirer l’extrait de code ajouté, et tout reviendra comme avant.

Si vous avez plus d’un shortcode à enlever, il suffit de répéter le processus.

Si vous avez de nombreux shortcodes inutilisés et que vous ne pouvez pas vous souvenir de tout les noms des shortcode, voici le moyen ultime pour désactiver tous les shortcode utilisé dans votre contenu.

Collez le code ci-dessous à la fin du fichier « functions.php » de votre thème, juste avant la balise « ?> » (peu recommandé) ou dans un plugin spécifique à votre site.

add_filter('the_content', 'binf_remove_unused_shortcode');
function binf_remove_unused_shortcode($content)
{	$pattern = binf_get_unused_shortcode_regex();
	$content = preg_replace_callback( '/'. $pattern .'/s', 'strip_shortcode_tag', $content );
	return $content;	
}
 
function binf_get_unused_shortcode_regex() {
	global $shortcode_tags;
	$tagnames = array_keys($shortcode_tags);
	$tagregexp = join( '|', array_map('preg_quote', $tagnames) );
	$regex = '\\[(\\[?)';
	$regex .= "(?!$tagregexp)";
	$regex .= '\\b([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)';

Le code ci-dessus récupére la liste de tous les shortcodes actifs, recherche les shortcodes qui ne correspondent pas à cette liste et supprime les shortcodes inutiles.

Remarque: Cette méthode fonctionnera pour tous les shortcode utilisés et ne retirera pas définitivement le shortcode de la base de données.

Si vous souhaitez réactiver le plugin, les shortcode respectifs continueront à fonctionner automatiquement. De plus, ce code supprime tous les contenus situé entre les balises « [ » et « ]« .

Voilà tout ce qu’il y a à faire pour retirer les shortcodes inutilisés de WordPress. J’espère que cela vous aidera à faire un peu de ménage, sur votre site, si vous avez désinstallé plusieurs plugin.

N’oubliez pas de nous faire par de votre expérience de l’utilisation des méthodes ci-dessus pour supprimer les shortcodes inutilisés dans WordPress.

séparateur de texte

Si vous avez trouvé cet article intéressant, Partagez le, il intéressera d’autres personnes. Merci!

Publié à l'origine le : 2 novembre 2015 @ 15 h 40 min

Pour compléter votre lecture.