gancho body_class para páginas de administración

16

El gancho body_class parece funcionar solo con páginas que no son de administrador. Cuando lo hago

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

¿Hay otro gancho que debería usar si quiero agregar una clase al cuerpo de una página de administración?

ltfishie
fuente

Respuestas:

19

Las páginas de administrador no usan el body_classfiltro, use el admin_body_classfiltro para agregar clases a la etiqueta del cuerpo del administrador.

Mamaduka
fuente
99
Vale la pena señalar que el parámetro $ classes en el método para el filtro admin_body_class es una cadena y no una matriz developer.wordpress.org/reference/hooks/admin_body_class
Roman Epicnerd Sharf
13

La respuesta de Mamaduka me indicó la dirección correcta , aquí está el código para agregar clases al cuerpo en el tablero.

La función de devolución de llamada debe devolver un valor válido para el atributo de clase HTML, es decir, nombres de clase separados por espacios, además, no olvide anteponer (o anexar) cualquier clase existente, debe entender al leer el código.

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
fuente
1
Esta probablemente debería ser la respuesta seleccionada. La implementación original de Asker devuelve una matriz, pero el gancho acepta una cadena separada por espacios: https://developer.wordpress.org/reference/hooks/admin_body_class/ . Por lo tanto, la respuesta seleccionada es engañosa, ya que solo responde parcialmente a la pregunta y no proporciona ninguna referencia.
pwbred
Para hacer que PHP sea más fácil de implementar si no es un programador, sin usar cadenas dentro de comillas dudosas es lo mismo quereturn $classes.' my-class my-other-class';
Jonas Lundman
Yo uso return sprintf('%s folded', $classes);según mi conveniencia.
besrabasant
-1

uno de los ganchos que uso para editar WP admin / Dashboard admin_head

    function remove_screen_options(){ 

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

} 

Pondrá el CSS en su parte de administrador

Y mediante el uso de la clase .wp-admin puede diseñar la parte del cuerpo de admin.

Buena suerte

alex
fuente