body_class-Hook für Admin-Seiten

16

Der body_class-Hook scheint nur mit Seiten zu funktionieren, die keine Administratoren sind. Wenn ich es tue

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

Gibt es einen anderen Haken, den ich verwenden sollte, wenn ich dem Hauptteil einer Admin-Seite eine Klasse hinzufügen möchte?

Fischerei
quelle

Antworten:

19

Admin-Seiten verwenden den body_classFilter nicht, sondern verwenden den Filter, admin_body_classum Klassen zum Admin-Body-Tag hinzuzufügen.

Mamaduka
quelle
8
Es ist erwähnenswert, dass der $ classes-Parameter in der Methode für den admin_body_class-Filter eine Zeichenfolge und kein Array ist. Developer.wordpress.org/reference/hooks/admin_body_class
Roman Epicnerd Sharf
13

Die Antwort von Mamaduka wies mich in die richtige Richtung . Hier ist der Code zum Hinzufügen von Klassen zum Textkörper im Dashboard.

Die Rückruffunktion sollte einen gültigen Wert für das HTML-Klassenattribut zurückgeben, d. H. Durch Leerzeichen getrennte Klassennamen. Vergessen Sie auch nicht, vorhandene Klassen voranzustellen (oder anzuhängen). Sie sollten dies verstehen, indem Sie den Code lesen.

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";
}
Nabil Kadimi
quelle
1
Dies sollte wahrscheinlich die ausgewählte Antwort sein. Die ursprüngliche Implementierung von Asker gibt ein Array zurück, der Hook akzeptiert jedoch eine durch Leerzeichen getrennte Zeichenfolge: https://developer.wordpress.org/reference/hooks/admin_body_class/ . Die ausgewählte Antwort ist daher irreführend, da sie die Frage nur teilweise beantwortet und keinen Hinweis enthält.
pwbred
Damit PHP einfacher zu implementieren ist, wenn Sie kein Programmierer sind, ohne Zeichenfolgen in doppelten Anführungszeichen zu verwenden, ist es dasselbe wiereturn $classes.' my-class my-other-class';
Jonas Lundman
Ich benutze return sprintf('%s folded', $classes);nach meinem Belieben.
Besrabasant
-1

Einer der Hooks, mit denen ich WP admin / Dashboard admin_head bearbeite

    function remove_screen_options(){ 

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

} 

Wird die CSS in Ihrem Admin-Teil setzen

Und mit der Klasse .wp-admin können Sie den Hauptteil von admin gestalten.

Viel Glück

Alex
quelle