Evite cargar los estilos de WP predeterminados en la pantalla de inicio de sesión

5

¿Hay alguna forma de evitar la carga de los estilos de WordPress predeterminados en la pantalla de inicio de sesión para cargar solo mis hojas de estilo personalizadas?

En realidad estoy usando este código:

function login_styles() {
    // Sets the styles if is the current theme
    if (get_stylesheet_directory() == get_template_directory()) {
        // Prints link to stylesheed login.css
        wp_register_style(...);
        wp_enqueue_style(...);
    }
}
add_action( 'login_enqueue_scripts', 'login_styles' );

Funciona bien, pero WordPress primero carga sus estilos. Quiero excluir esos archivos de esta pantalla.

    
pregunta AlbertoFdzM 09.09.2013 - 16:37

3 respuestas

5

El uso de wp_deregister_style( 'login' ) para eliminar los estilos de inicio de sesión aún dará lugar a una solicitud 404 para el archivo CSS de inicio de sesión. Sin embargo, si vuelve a registrar el estilo de inicio de sesión después de anular el registro, puede evitar la solicitud no deseada.

add_action( 'login_init', function() {
    wp_deregister_style( 'login' );
    wp_register_style( 'login' );
} );

Esto te dejará con una página wp-login.php completamente sin estilo. Para cambiar el estilo, en su lugar, puede registrar su propio archivo CSS bajo el controlador login .

Esto podría ser más útil que jugar con el filtro style_loader_tag .

Actualizar:

login_enqueue_scripts es una acción más apropiada y la salida de la cola no da como resultado un 404.

add_action( 'login_enqueue_scripts', function() {
    wp_dequeue_style( 'login' );
} );
    
respondido por el Spencer 15.11.2014 - 05:49
1

Siguiendo el ejemplo de un G.M. comente en una respuesta eliminada, donde señala que los estilos de inicio de sesión se imprimen con wp_admin_css() * , he encontrado un filtro que hace el trabajo,% código%. Pero las pruebas adicionales muestran que style_loader_tag es suficiente .

La retroalimentación y otras pruebas adicionales revelan que la desregistro del estilo produce un 404 para wp_deregister_style , así que volvemos a la etiqueta del cargador:

add_action( 'login_init', function() 
{
    # Produces a 404 for the style
    // wp_deregister_style( 'wp-admin' );

    # The following is a filter in /wp-includes/class.wp-styles.php
    # Completely cleans up the <head> of enqueues
    add_filter( 'style_loader_tag', '__return_null' );
});

wp-admin.css Incluso hay un filtro dentro de esta función, pero parece que no detecta los estilos registrados.

    
respondido por el brasofilo 10.09.2013 - 00:29
0

Encontró la forma de eliminar los estilos de la pantalla de inicio de sesión:

function login_styles_reset( $style ) {
    if ( strpos( $style, 'wp-admin-css') !== FALSE ) {
        $style = NULL;
    } elseif ( strpos( $style, 'colors-fresh-css') !== FALSE ) {
        $style = NULL;
    }
    return $style;
}

function custom_login_styles() {
    add_filter( 'style_loader_tag', 'login_styles_reset' );

    // Code for the new login styles
}
add_action( 'login_init', 'custom_login_styles');

Espero que ayude a alguien más.

    
respondido por el AlbertoFdzM 03.12.2013 - 16:06

Lea otras preguntas en las etiquetas