Beaucoup de sites WordPress accumulent des extensions pour des réglages qui tiennent en quelques lignes de code. Changer la longueur d’un extrait, désactiver l’éditeur classique pour certains rôles, ou encore retirer la version de WordPress affichée dans le code source : autant d’actions qui passent très bien par le fichier functions.php d’un thème enfant, sans dépendance externe à maintenir.
Cet article rassemble dix snippets testés en production, chacun accompagné de son explication. L’idée n’est pas de copier-coller aveuglément, mais de comprendre le hook utilisé pour pouvoir l’adapter au projet en cours.
Toujours partir d’un thème enfant
Avant tout snippet, un point de méthode : ces modifications doivent vivre dans le functions.php d’un thème enfant, jamais dans le thème parent. Une mise à jour du thème parent écraserait sinon le travail effectué. Si le projet utilise déjà un thème sur mesure, un simple plugin « maison » (un fichier avec un en-tête de plugin standard) fonctionne tout aussi bien et présente l’avantage de survivre à un changement de thème.
<?php
/**
* Plugin Name: Réglages maison
* Description: Ajustements spécifiques au site
* Version: 1.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
Ajuster la longueur des extraits
Par défaut, WordPress tronque les extraits automatiques à 55 mots. C’est rarement adapté à une maquette précise. Le filtre excerpt_length permet de fixer une valeur cohérente avec le design :
add_filter( 'excerpt_length', function( $length ) {
return 30;
}, 999 );
add_filter( 'excerpt_more', function( $more ) {
return '…';
} );
La priorité élevée (999) évite qu’un plugin tiers ne réécrive la valeur après coup, un piège classique quand plusieurs filtres s’accrochent au même hook.

Nettoyer le head sans plugin de sécurité
Le <head> de WordPress contient par défaut plusieurs informations qu’il vaut mieux retirer : la version du CMS, les liens RSD, le lien WLW manifest. Rien de tout cela ne rend service à un site de production classique.
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
Désactiver l’éditeur classique pour un type de contenu précis
Un site peut très bien mélanger l’éditeur de blocs pour les articles et l’éditeur classique pour un type de contenu legacy (des fiches produits importées, par exemple). Le filtre use_block_editor_for_post_type permet ce réglage fin :
add_filter( 'use_block_editor_for_post_type', function( $use_block_editor, $post_type ) {
if ( 'fiche_produit' === $post_type ) {
return false;
}
return $use_block_editor;
}, 10, 2 );
Ajouter une taille d’image sur mesure
Plutôt que de recadrer manuellement chaque visuel pour un usage précis (une vignette de blog, une bannière), il est plus fiable de déclarer une taille d’image et de laisser WordPress générer le fichier au moment de l’upload :
add_action( 'after_setup_theme', function() {
add_image_size( 'vignette-blog', 640, 360, true );
} );
Le troisième paramètre (true) force le recadrage strict aux dimensions demandées, plutôt qu’un redimensionnement proportionnel.
Personnaliser le pied de page de l’administration
Un détail apprécié des clients : remplacer le texte « Merci d’utiliser WordPress » par une mention plus adaptée au contexte du projet, avec un lien vers le support.
add_filter( 'admin_footer_text', function() {
return 'Site maintenu par votre agence.';
} );
Limiter les révisions enregistrées
Sans limite, WordPress stocke une révision à chaque enregistrement automatique ou manuel, ce qui peut gonfler la table wp_posts sur des contenus souvent modifiés. Une constante dans wp-config.php règle le problème simplement :
define( 'WP_POST_REVISIONS', 10 );
Dix révisions par contenu suffisent en général à revenir en arrière sans faire exploser la base de données.
Désactiver les commentaires proprement
Beaucoup de sites vitrine n’ont pas besoin des commentaires natifs. Plutôt que de les masquer uniquement en façade, autant les fermer côté administration aussi :
- Retirer le support
commentsettrackbacksdes types de contenu concernés - Fermer les commentaires existants avec une requête ponctuelle
- Retirer le menu « Commentaires » du tableau de bord pour les rôles non administrateurs
add_action( 'init', function() {
remove_post_type_support( 'post', 'comments' );
remove_post_type_support( 'page', 'comments' );
} );
add_action( 'admin_menu', function() {
remove_menu_page( 'edit-comments.php' );
} );
Un snippet qui n’a pas de commentaire expliquant son rôle est un snippet qu’on finit par supprimer par erreur six mois plus tard, faute de savoir à quoi il sert.
En résumé
Aucun de ces réglages ne justifie, à lui seul, l’installation d’une extension supplémentaire. Un thème enfant ou un petit plugin maison bien organisé, avec des fonctions nommées clairement et des commentaires courts, reste la solution la plus légère et la plus facile à auditer dans le temps. C’est aussi le meilleur moyen d’éviter la fameuse « plugin fatigue » qui finit par ralentir un site et compliquer sa maintenance.
La règle à retenir : un snippet, un hook, une responsabilité. Dès qu’un fichier functions.php dépasse quelques centaines de lignes, il est temps de le scinder en plusieurs fichiers inclus proprement, ou de migrer certaines fonctions vers un vrai plugin versionné.