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?

Antworten:



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";
}

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.