Mon thème parent génère la classe suivante dans body
: style-cupcake
. Je ne veux pas ça. Le meilleur moyen de s'en débarrasser consiste à ajouter mes propres fonctions dans un fichier functions.php
dans mon thème enfant, n'est-ce pas?
J'ai essayé ceci (une solution que j'ai trouvée sur WPSE) mais cela ne semble pas fonctionner. "arrière-plan personnalisé" est supprimé, mais style-cupcake persiste.
<?php
function my_body_class( $wp_classes, $extra_classes )
{
// List of the only WP generated classes that are not allowed
$blacklist = array('custom-background', 'style-cupcake');
// Blacklist result: (uncomment if you want to blacklist classes)
$wp_classes = array_diff( $wp_classes, $blacklist );
// Add the extra classes back untouched
return array_merge( $wp_classes, (array) $extra_classes );
}
add_filter( 'body_class', 'my_body_class', 10, 2 );
?>
Une idée?
Si vous souhaitez appliquer un filtre au même contenu filtré par une autre fonction, modifiez l'argument de priorité (qui aurait dû s'appeler _execution_order_) en un nombre plus élevé.
Alors …
add_filter( 'body_class', 'my_body_class', 11, 2 );
… S'assurera que my_body_class()
sera appelé après le another_body_class()
qui a été enregistré avec 10:
add_filter( 'body_class', 'another_body_class', 10, 2 );
Notez également que l'argument priorité sera utilisé comme clé de tableau. Il ne doit pas nécessairement s'agir d'un nombre, mais simplement d'une clé valide.
// this works!
add_filter( 'body_class', 'my_body_class', 'very late please', 2 );
add_filter( 'body_class', 'my_body_class', PHP_INT_MAX, 2 );