hak body_class dla stron administracyjnych

16

Hak body_class wydaje się działać tylko ze stronami innymi niż admin. Kiedy robię

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

Czy jest jakiś inny hak, którego powinienem użyć, jeśli chcę dodać klasę do treści strony administratora?

ltfishie
źródło

Odpowiedzi:

19

Strony administracyjne nie używają body_classfiltru, użyj admin_body_classfiltru, aby zamiast tego dodać klasy do tagu administracyjnego.

Mamaduka
źródło
9
Warto zauważyć, że parametr $ klas w metodzie filtru admin_body_class jest łańcuchem, a nie tablicą developer.wordpress.org/reference/hooks/admin_body_class
Roman Epicnerd Sharf
13

Odpowiedź Mamaduka wskazała mi właściwy kierunek , oto kod dodawania klas do ciała na desce rozdzielczej.

Funkcja zwrotna powinna zwrócić poprawną wartość atrybutu klasy HTML, czyli nazw klas oddzielonych spacjami, nie zapomnij też dodać (lub dołączyć) istniejących klas, które należy zrozumieć, czytając kod.

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
źródło
1
To prawdopodobnie powinna być wybrana odpowiedź. Oryginalna implementacja pytającego zwraca tablicę, ale hak akceptuje ciąg oddzielony spacją: https://developer.wordpress.org/reference/hooks/admin_body_class/ . Wybrana odpowiedź jest zatem myląca, ponieważ tylko częściowo odpowiada na pytanie i nie zawiera odniesienia.
pwbred
Aby PHP był łatwiejszy do implementacji, jeśli nie jesteś programistą, bez używania ciągów znaków w podwójnych cudzysłowach są takie same jakreturn $classes.' my-class my-other-class';
Jonas Lundman
Używam return sprintf('%s folded', $classes);według mojej wygody.
besrabasant
-1

jeden z haków, których używam do edycji WP admin / Dashboard admin_head

    function remove_screen_options(){ 

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

} 

Umieści css w części administracyjnej

Za pomocą klasy .wp-admin możesz nadać styl części ciała administratora.

Powodzenia

alex
źródło