Tengo un sitio web de Wordpress CMS donde la mayoría de las etiquetas deben ser blancas. Entonces, el tema incluye los siguientes estilos por etiquetas de formulario.

.login label {
    color: #fff;
    font-size: 14px;
}

Este estilo anterior se completa desde el archivo /wp-login.php; el estilo en sí se encuentra en login.min.css (que se incluye directamente en wp-login.php)

Necesito anular esto SOLAMENTE para la pantalla de olvido de contraseña.

Afortunadamente, hay selectores de ID personalizados para las dos etiquetas que necesito que sean negras en este caso. #pass1 #pass2

Mi problema es que NO TENGO ACCESO a /wp-login.php y login.min.css. He intentado agregar !important y declarar estos dos selectores dentro de header.php pero no se leyeron.

Necesito agregar de alguna manera; con situación actual de permisos.

#pass1 { color: #000 !important; }

#pass2 { color: #000 !important; }

¿Puedo usar jQuery de header.php o footer.php para agregar el estilo? ¿Sería leído?

2
fred randall 23 ene. 2015 a las 00:30

3 respuestas

La mejor respuesta

No es una buena práctica editar ningún archivo principal de wp, por lo que aconsejaría no tocar wp-login.php de todos modos, ya que actualizar WordPress puede restablecer las cosas.

En su lugar, agregue esto a su functions.php:

 // Custom login
function custom_login() {
        $files = '<link rel="stylesheet" href="'.get_bloginfo('template_directory').'/css/login.css" />';
        echo $files;
}
add_action('login_head', 'custom_login');
2
Roni Laukkarinen 22 ene. 2015 a las 21:45

Dado que las pantallas de inicio de sesión y contraseña olvidada no dependen del tema, su archivo header.php no se leerá, por lo que los estilos que coloque allí no afectarán estas páginas.

Agregue esto a su archivo template.php

function my_login_stylesheet() {
    wp_enqueue_style( 'custom-login', get_template_directory_uri() . '/style-login.css' );
}
add_action( 'login_enqueue_scripts', 'my_login_stylesheet' );

Y luego agregue sus estilos personalizados a style-login.css

0
Blake Frederick 22 ene. 2015 a las 21:47

login_head y login_enqueue_scripts son llamados uno tras otro, así que no importa cuál estés usando ...

El uso de wp_enqueue_style es la mejor práctica, pero puede ser echo '<link rel="stylesheet" ...>'; sin problemas.

Estoy agregando una solución porque este no es el tipo de código que simplemente colocas en tu tema functions.php. Queremos mantener el código en ejecución incluso si intercambiamos temas. Entonces, un complemento de funcionalidad es útil:

<?php
/*
    Plugin Name: Login CSS
*/
function custom_login() {
   $CSS = <<<CSS
        <style>
            .login label {}
        </style>
CSS;
    echo $CSS;
}
add_action('login_head', 'custom_login');

Compruebe lo siguiente para conocer la sintaxis de Heredoc utilizada para construir la cadena $CSS: ¿Cuál es la ventaja de usar Heredoc en PHP?

0
brasofilo 17 abr. 2018 a las 02:12