Votre site WordPress est lent, surchargé ou rempli de fonctionnalités inutiles ? La fonction remove_action permet de supprimer facilement ces éléments indésirables sans modifier les fichiers du thème ou des plugins. En maîtrisant remove_action, vous pouvez alléger votre code, améliorer les performances et reprendre le contrôle total de votre WordPress, même en étant débutant.
- Reprendre le contrôle total de votre site WordPress en supprimant facilement les fonctionnalités inutiles ajoutées par défaut, par votre thème ou vos plugins.
- Améliorer les performances et la propreté de votre code en éliminant les scripts et éléments superflus qui ralentissent votre site.
- Gagner en maîtrise technique pour personnaliser WordPress en profondeur sans modifier directement les fichiers des plugins ou du thème.
WordPress vous donne un pouvoir énorme pour reprendre le contrôle. Et ce pouvoir s’appelle remove_action.
Dans ce tutoriel, vous allez apprendre à utiliser et maîtriser remove_action pour supprimer proprement des fonctionnalités inutiles. Même si vous débutez, ne vous inquiétez pas : nous allons avancer étape par étape, avec des exemples concrets et du code prêt à l’emploi.
- Comprendre le fonctionnement de WordPress
- Et remove_action dans tout ça ?
- La syntaxe de remove_action
- Où placer votre remove_action ?
- Cas concret : supprimer les emojis WordPress
- Cas concret de remove_action : enlever la version WordPress
- Cas concret : supprimer les liens RSS inutiles
- Supprimer des actions venant d’un plugin
- Supprimer une action inconnue
- Exemple concret : supprimer un script inutile d’un plugin SEO
- Supprimer une action WooCommerce
- Exemple concret : enlever les breadcrumbs WooCommerce
- Les erreurs fréquentes et comment les éviter
- Créer votre système de nettoyage WordPress
- remove_filter : modifier ou supprimer un contenu généré
- FAQ : remove_action WordPress
Comprendre le fonctionnement de WordPress
Avant de parler de remove_action, il faut comprendre comment WordPress fonctionne en coulisses.
Le principe des hooks (actions et filtres)
WordPress repose sur un système appelé hooks. Derrière ce mot un peu technique se cachent deux concepts simples :
- Les actions (
add_action) : permettent d’ajouter du code à un moment précis - Les filtres (
add_filter) : permettent de modifier une donnée
Imaginez WordPress comme une chaîne de montage. À certains moments clés (chargement de la page, affichage du contenu, envoi d’un email…), vous pouvez brancher du code.
Par exemple :
add_action('wp_footer', 'ajouter_message');
function ajouter_message() {
echo '<p>Merci de votre visite !</p>';
}
Ici, on dit à WordPress : « Quand tu affiches le footer, ajoute ce message. »
👉 Pour ceux qui débutent, Tout comprendre aux Hooks add_action et add_filter.
Et remove_action dans tout ça ?
Maintenant que vous avez compris le principe, voici la logique :
- Si
add_actionajoute quelque chose… - …
remove_actionle supprime.

Simple, non ?
Définition simple de remove_action
remove_action permet de désactiver une action déjà ajoutée, que ce soit par :
- WordPress lui-même
- un plugin
- votre thème
Pourquoi utiliser remove_action ?
Vous pourriez vous dire : “Ok, mais pourquoi je voudrais supprimer des actions ?”
Pour améliorer les performances : Certains plugins ajoutent du code partout, même si vous n’en avez pas besoin. Résultat : votre site charge plus lentement.
- Avec
remove_action, vous pouvez enlever ce code inutile.
Nettoyer le HTML : WordPress ajoute parfois des éléments automatiques dans le <head> :
- emojis
- version WordPress
- liens RSS inutiles
Cela peut rendre votre code plus lourd… et moins propre.
Garder le contrôle : Certains thèmes ou plugins prennent des décisions à votre place. Et parfois… ce n’est pas les bonnes. remove_action vous permet de dire :
« Merci, mais non merci. »
La syntaxe de remove_action
Voici la structure de base :
remove_action('hook_name', 'function_name', priority);
Décomposons :
- hook_name : l’endroit où l’action est attachée
- function_name : la fonction à supprimer
- priority : l’ordre d’exécution (optionnel mais souvent nécessaire)
Exemple concret et ultra simple
Imaginons que votre thème ajoute un message dans le footer :
add_action('wp_footer', 'mon_message');
function mon_message() {
echo 'Hello !';
}
Vous voulez le supprimer. La solution :
remove_action('wp_footer', 'mon_message');
Attention à un point important
Pour que remove_action fonctionne, il faut :
- Le même hook
- La même fonction
- La même priorité (si définie)
- Sinon… ça ne marche pas.
Et là, vous risquez de perdre du temps à chercher pourquoi …
Exemple avec priorité
add_action('wp_footer', 'mon_message', 20);
Alors pour supprimer :
remove_action('wp_footer', 'mon_message', 20);
- Si vous oubliez le
20, ça ne fonctionnera pas.
Où placer votre remove_action ?
C’est une question essentielle.
Option 1 : functions.php
Dans votre thème : dans le fichier functions.php.
Option 2 (recommandé) : un plugin personnalisé
C’est la meilleure solution pour éviter les mauvaises surprises lors d’une mise à jour du thème. Créez un plugin simple :
<?php
/**
* Plugin Name: Nettoyage WordPress
*/
add_action('init', function() {
remove_action('wp_footer', 'mon_message');
});
Pourquoi utiliser init ?
Parce que vous devez attendre que l’action soit enregistrée avant de la supprimer. Sinon, WordPress ne la connaît pas encore… donc impossible de la retirer.
👉 Apprenez à Coder une extension Wordpress
Cas concret : supprimer les emojis WordPress
WordPress ajoute automatiquement le support des emojis. Sympa… mais inutile dans beaucoup de cas.
Le code pour les supprimer :
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
Explication
wp_head→ code injecté dans le<head>wp_print_styles→ styles chargés
Résultat : moins de scripts, site plus léger.
Cas concret de remove_action : enlever la version WordPress
WordPress affiche sa version dans le code source. Pas dramatique… mais pas très sécurisé.
Le code pour supprimer la version de Wordpress :
remove_action('wp_head', 'wp_generator');
Cas concret : supprimer les liens RSS inutiles
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
Supprimer des actions venant d’un plugin
Jusqu’ici, tout allait bien : on supprimait des actions simples. Mais dans la réalité, vous allez surtout utiliser remove_action pour désactiver ce que font les plugins. Et là… ça se complique un peu.
Mais rassurez-vous, on va décortiquer ça tranquillement.
Cas 1 : un plugin ajoute une fonction simple
Certains plugins utilisent une fonction classique :
add_action('wp_head', 'plugin_ajout_script');
Dans ce cas, vous pouvez simplement faire :
remove_action('wp_head', 'plugin_ajout_script');
Facile. Presque trop facile.
Cas 2 : une méthode de classe (le cas le plus fréquent)
La plupart des plugins modernes utilisent des classes PHP. Par exemple :
class MonPlugin {
public function ajouter_script() {
echo '<script>console.log("Hello");</script>';
}
}
$plugin = new MonPlugin();
add_action('wp_head', [$plugin, 'ajouter_script']);
Et là… surprise : remove_action ne fonctionne plus comme avant.
Pourquoi ça ne marche pas ? Parce que WordPress ne stocke pas juste le nom de la fonction… Il stocke aussi l’instance de la classe.
Donc si vous faites :
remove_action('wp_head', ['MonPlugin', 'ajouter_script']);
❌ Ça ne marche pas.
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?- La bonne solution consiste à récupérer l’instance
Il faut supprimer l’action avec la même instance :
global $plugin;
remove_action('wp_head', [$plugin, 'ajouter_script']);
Mais attention : encore faut-il que cette instance soit accessible. Et souvent… elle ne l’est pas.
Astuce : utiliser le bon hook
Pour réussir un remove_action, il faut intervenir au bon moment :
add_action('init', function() {
remove_action('wp_head', 'plugin_ajout_script');
});
Mais parfois init est trop tôt ou trop tard.
Dans ce cas, vous pouvez essayer aussi :
add_action('wp_loaded', function() {
remove_action('wp_head', 'plugin_ajout_script');
});
Supprimer une action inconnue
Parfois, vous ne connaissez :
- Ni la fonction
- Ni la classe
- Ni la priorité
Et là… c’est le flou total.
Solution : inspecter les hooks
Vous pouvez afficher les actions attachées :
global $wp_filter;
print_r($wp_filter['wp_head']);
C’est un peu brutal… mais très efficace pour debugger.
Exemple concret : supprimer un script inutile d’un plugin SEO
Certains plugins SEO ajoutent :
- du JavaScript inutile
- des meta tags dont vous ne voulez pas
Exemple fictif :
add_action('wp_head', 'seo_plugin_head_output', 10);
Puis la suppression en rapport :
add_action('init', function() {
remove_action('wp_head', 'seo_plugin_head_output', 10);
});
Supprimer une action WooCommerce
WooCommerce ajoute énormément de choses automatiquement. Par exemple :
add_action('woocommerce_before_shop_loop', 'woocommerce_result_count', 20);
Vous voulez enlever le compteur de produits :
remove_action('woocommerce_before_shop_loop', 'woocommerce_result_count', 20);
Exemple concret : enlever les breadcrumbs WooCommerce
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
Résultat : plus de fil d’Ariane en provenance de WooCommerce.
Et là, vous commencez à voir la puissance de remove_action
Avec remove_action, vous pouvez :
- désactiver des parties entières d’un plugin
- modifier l’affichage sans toucher au code source
- alléger votre site
Les erreurs fréquentes et comment les éviter
1. Mauvais hook
Vous pensez supprimer une action… mais vous utilisez le mauvais hook. Pensez à toujours d’abord vérifier :
wp_headwp_footerinit- etc.
2. Mauvaise priorité
C’est LE piège classique. Si l’action a une priorité 20 :
remove_action('hook', 'fonction', 10);
❌ Ne fonctionne pas.
3. remove_action trop tôt
Si vous faites :
remove_action(...);
directement dans functions.php, ça peut échouer.
La meileures solution sera :
add_action('init', function() {
remove_action(...);
});
4. Classe inconnue
Vous ne savez pas comment le plugin fonctionne.
- cherchez dans les fichiers du plugin
- recherchez
add_action
Créer votre système de nettoyage WordPress
Maintenant, on va faire quelque chose de propre.
Objectif : Créer un bloc central pour nettoyer WordPress.
add_action('init', function() {
// Supprimer emojis
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
// Supprimer version WordPress
remove_action('wp_head', 'wp_generator');
// Supprimer RSD
remove_action('wp_head', 'rsd_link');
// Supprimer WLW
remove_action('wp_head', 'wlwmanifest_link');
});
Organiser votre code proprement
Si vous voulez aller plus loin :
function crea_cleanup_wp() {
remove_action('wp_head', 'wp_generator');
}
add_action('init', 'crea_cleanup_wp');
C’est plus lisible et plus maintenable.
Concrètement, qu’est-ce que ça change ?
Après quelques remove_action, vous allez constater :
- un HTML plus propre
- moins de scripts
- un site plus rapide
- une meilleure maîtrise technique
Et surtout… Vous ne subissez plus WordPress. Vous le contrôlez.
remove_filter : modifier ou supprimer un contenu généré
Si remove_action sert à enlever du code exécuté à un moment précis, remove_filter permet de supprimer une modification appliquée à une donnée.
Concrètement, un filtre agit sur du contenu (un texte, un titre, une classe CSS…) avant qu’il soit affiché.
- C’est donc l’outil idéal si vous voulez empêcher WordPress ou un plugin de modifier un contenu.
Exemple simple pour bien comprendre
Imaginons qu’un plugin ajoute automatiquement du texte à la fin de vos articles :
add_filter('the_content', 'ajouter_signature');
function ajouter_signature($content) {
return $content . '<p>Merci de votre lecture !</p>';
}
Chaque article affichera cette signature.
Supprimer cette modification avec remove_filter
remove_filter('the_content', 'ajouter_signature');
Explication
the_content→ filtre appliqué au contenu des articlesajouter_signature→ fonction qui modifie le texte
Avec remove_filter, vous dites simplement à WordPress : “Ne modifie plus ce contenu.”
À retenir
Comme pour remove_action, vous devez utiliser :
- le bon hook (
the_contentici) - la bonne fonction
- la bonne priorité si elle est définie
Et comme toujours… placez votre code au bon moment (souvent via init) pour garantir que le filtre existe déjà avant de le supprimer.
FAQ : remove_action WordPress
remove_action ne fonctionne pas, pourquoi ?
Dans la majorité des cas, le problème vient d’un mauvais hook, d’une priorité différente ou d’un appel trop tôt dans le cycle WordPress. Vérifiez que vous utilisez exactement les mêmes paramètres que l’add_action d’origine.
Peut-on utiliser remove_action sans risque pour son site ?
Oui, à condition de savoir ce que vous supprimez. Enlever une action utile peut casser une fonctionnalité (affichage, plugin, etc.). Il est recommandé de tester chaque modification sur un environnement de préproduction.
Quelle différence entre remove_action et remove_filter ?
remove_action sert à supprimer une action (ajout de contenu ou exécution de code), tandis que remove_filter permet de retirer une modification appliquée à une donnée. Les deux fonctionnent de manière similaire, mais sur des usages différents.
Maîtriser remove_action, ce n’est pas juste apprendre une fonction. C’est comprendre comment WordPress fonctionne réellement.
Au début, cela peut sembler un peu technique. Mais très vite, vous allez prendre confiance… et commencer à voir votre site différemment. Vous allez identifier ce qui est inutile, ce qui ralentit, ce qui pollue.
Et petit à petit, vous allez transformer votre site en quelque chose de plus propre, plus rapide, plus professionnel.
Alors la prochaine fois que vous voyez un élément inutile sur votre site, ne soupirez plus… Demandez-vous simplement : “Est-ce que je peux le supprimer avec remove_action ?”

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
