Une rédactrice qui découvre un nouveau type de contenu « Témoignage client » se retrouve face à un champ de titre vide affichant simplement « Ajouter un titre » et un premier bloc vide. Rien ne lui indique qu’on attend ici le nom du client, ni que le premier paragraphe doit commencer par le contexte de la mission. Deux filtres WordPress permettent de transformer ces zones vides en guide silencieux.
Ce genre de personnalisation, minime en apparence, réduit sensiblement le nombre d’allers-retours entre l’équipe éditoriale et l’équipe technique lors du lancement d’un nouveau type de contenu.
Personnaliser le placeholder du titre
Le filtre enter_title_here reçoit le texte par défaut et l’objet WP_Post en cours d’édition, ce qui permet d’adapter le message selon le type de contenu :
add_filter( 'enter_title_here', function ( $texte_defaut, $post ) {
if ( 'temoignage' === $post->post_type ) {
return __( 'Nom du client (ex. Studio Lumière)', 'mon-theme' );
}
if ( 'recette' === $post->post_type ) {
return __( 'Nom du plat, sans « Recette de » devant', 'mon-theme' );
}
return $texte_defaut;
}, 10, 2 );
Personnaliser le placeholder du premier bloc
Le filtre write_your_story, introduit avec l’éditeur de blocs, joue le même rôle pour le texte d’invite qui apparaît dans le premier bloc de paragraphe vide :

add_filter( 'write_your_story', function ( $texte_defaut, $post ) {
if ( 'temoignage' === $post->post_type ) {
return __( 'Décrivez en une phrase le contexte de la mission…', 'mon-theme' );
}
return $texte_defaut;
}, 10, 2 );
Contrairement au filtre du titre, celui-ci ne s’applique qu’au tout premier bloc de la page, et seulement s’il s’agit d’un bloc Paragraphe : un article qui commence par un bloc Image ou Groupe ne bénéficiera pas de ce message.
Adapter le message selon un attribut, pas seulement le type
Sur un type de contenu générique utilisé pour plusieurs familles de pages (par exemple un CPT page-produit partagé entre plusieurs gammes), on peut affiner le message en fonction d’une taxonomie ou d’un champ personnalisé déjà enregistré :
add_filter( 'enter_title_here', function ( $texte_defaut, $post ) {
if ( 'page-produit' !== $post->post_type ) {
return $texte_defaut;
}
$gamme = get_post_meta( $post->ID, 'gamme', true );
if ( 'exterieur' === $gamme ) {
return __( 'Nom du modèle (gamme extérieur)', 'mon-theme' );
}
return __( 'Nom du modèle', 'mon-theme' );
}, 10, 2 );
Documenter directement dans l’interface plutôt qu’à côté
Avant ces filtres, la pratique courante consistait à rédiger un guide PDF ou une page de wiki expliquant les conventions de nommage par type de contenu. Ce type de documentation externe est presque toujours ignoré au quotidien, alors que l’indication affichée directement dans le champ vide est vue à chaque création de contenu, sans effort supplémentaire de la part du rédacteur.
- Le message doit rester court : au-delà d’une dizaine de mots, il est tronqué visuellement sur les écrans étroits.
- Éviter les instructions à rallonge : préférer un exemple concret à une explication abstraite.
- Vérifier l’affichage sur mobile, où le champ de titre est plus étroit.
Un placeholder bien pensé remplace à lui seul une bonne partie du guide de rédaction qu’on n’écrira jamais vraiment, ou que personne ne relira une fois le projet lancé.
Limite de cette approche
Ces filtres n’empêchent en rien un rédacteur de laisser un titre vide ou de ne pas suivre l’exemple donné : il s’agit d’un guide, pas d’une validation. Pour imposer réellement un format de titre, il faut passer par une vérification lors de l’enregistrement, via le hook save_post, avec un message d’erreur explicite si le format ne convient pas.
En résumé
Ces deux filtres, enter_title_here et write_your_story, coûtent quelques minutes à mettre en place et évitent des semaines d’incohérences éditoriales sur un nouveau type de contenu. Une fois qu’un rédacteur comprend d’un simple coup d’œil ce qu’on attend de lui, la qualité du contenu produit s’en ressent immédiatement.