Mostrar Estilos En El Head Del Login De WordPress

Suponiendo que quieres personalizar y aplicar tu propios estilos al Inicio de Sesión de WordPress. Una forma sencilla de hacer esto es cargando nuestros propios estilos en la pagina de inicio de sesión usando un código similar al siguiente:

add_action( 'login_enqueue_scripts', 'custom_login' );

function custom_login() {
    wp_enqueue_style( 'custom', get_template_directory_uri() . '/css/login.css' );
}

Pero haciéndolo de esta forma ocurre un pequeño problema con el estándar de HTMl y es que todos los estilos deben incluirse en el head del documento y no después del body, quedando tu código de esta forma:

<link rel='stylesheet' id='custom-css'  href='http://tu-sitio.com/wp-content/themes/tu-tema/css/login.css' type='text/css' media='all' />
</body>
</html>

Esto se debe a que en el login de WordPress no hay una función o una acción correspondiente, me explico para cada acción que se realiza con enqueue por ejemplo wp_enqueue_style(), hay una acción correspondiente para imprimir los estilos.

  • wp_enqueue_scripts → wp_print_styles
  • admin_enqueue_scripts → admin_print_styles

Etc… pero hay una forma simple para resolverlo. Solo coloca este código seguido de tu función:

if ( ! has_action( 'login_enqueue_scripts', 'wp_print_styles' ) )
    add_action( 'login_enqueue_scripts', 'wp_print_styles', 11 );

Con esto los estilos se llaman de forma correcta en el head del documento.