hook body_class pour les pages d'administration


16

Le hook body_class ne semble fonctionner qu'avec des pages non admin. Quand je fais

add_filter('body_class', 'add_body_classes');
function add_body_classes($classes) {
        $classes[] = 'myclass';
        return $classes;
}

Y a-t-il un autre crochet que je devrais utiliser si je veux ajouter une classe au corps d'une page d'administration?

Réponses:



13

La réponse de Mamaduka m'a pointé dans la bonne direction , voici le code pour ajouter des classes au corps dans le tableau de bord.

La fonction de rappel doit renvoyer une valeur valide pour l'attribut de classe HTML, c'est-à-dire les noms de classe séparés par des espaces, aussi, n'oubliez pas de préfixer (ou d'ajouter) toutes les classes existantes, vous devez comprendre en lisant le code.

add_filter( 'admin_body_class', 'my_admin_body_class' );

/**
 * Adds one or more classes to the body tag in the dashboard.
 *
 * @link /wordpress//a/154951/17187
 * @param  String $classes Current body classes.
 * @return String          Altered body classes.
 */
function my_admin_body_class( $classes ) {
    return "$classes my_class";
    // Or: return "$classes my_class_1 my_class_2 my_class_3";
}

1
Cela devrait probablement être la réponse choisie. L'implémentation d'origine d'Asker renvoie un tableau, mais le hook accepte une chaîne séparée par des espaces: https://developer.wordpress.org/reference/hooks/admin_body_class/ . La réponse choisie est donc trompeuse, car elle ne répond que partiellement à la question et ne fournit aucune référence.
pwbred

Pour rendre PHP plus facile à implémenter si vous n'êtes pas programmeur, sans utiliser de chaînes à l'intérieur de guillemets doubles, c'est la même chose quereturn $classes.' my-class my-other-class';
Jonas Lundman

J'utilise return sprintf('%s folded', $classes);selon ma convenance.
besrabasant

-1

l'un des crochets que j'utilise pour modifier WP admin / Dashboard admin_head

    function remove_screen_options(){ 

    $hideCSS = '<style>#screen-meta-links { display: none; }</style>';

} 

Mettra le css dans votre partie admin

Et en utilisant la classe .wp-admin, vous pouvez styliser la partie corps d'admin.

Bonne chance

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.