Soporte » Guías – Resolución de problemas » Añadir varios css al tema hijo

  • Hola,
    tengo un tema hijo y mediante functions.php añado mis estilos css.
    El problema es que hay unos estilos que quiero cambiar y no lo consigo.
    En el tema padre el archivo está en la carpeta /assets/css/static.css

    Ahora en functions.php tengo este código:

    <?php
    function my_theme_enqueue_styles() {
    
    $parent_style = ‘parent-style’; // Estos son los estilos del tema padre recogidos por el tema hijo.
    
    wp_enqueue_style( $parent_style, get_template_directory_uri() . ‘/style.css’ );
    wp_enqueue_style( ‘child-style’, get_stylesheet_directory_uri() . ‘/style.css’, array( $parent_style ), wp_get_theme()->get(‘Version’) );
    }
    add_action( ‘wp_enqueue_scripts’, ‘my_theme_enqueue_styles’ );
    ?>

    ¿Cómo tengo que hacer para añadir static.css?
    Muchas gracias.

    • Este debate fue modificado hace 5 años, 10 meses por almendron.
    • Este debate fue modificado hace 5 años, 10 meses por almendron.
Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • Moderador almendron

    (@almendron)

    Echa un vistazo a https://cybmeta.com/anadir-css-y-javascript-en-wordpress

    add_action( 'wp_enqueue_scripts', 'cyb_theme_styles' );
    function cyb_theme_styles() {
    
        wp_enqueue_style(
            'mi-theme-style',
            get_stylesheet_uri(), // URL del style.css
            array(),
            '1.0'
        );
    
        wp_enqueue_style(
            'mi-theme-dark-style',
            get_theme_file_uri( 'assets/css/colors-dark.css' ),
            array( 'mi-theme-style' ),
            '1.0'
        );
    
        wp_enqueue_style(
            'mi-theme-print-style',
            get_theme_file_uri( 'assets/css/print.css' ),
            array( 'mi-theme-style' ),
            '1.0',
            'print'
        );
    
    }
    Iniciador del debate Tzita

    (@tzita)

    Gracias @almendron.
    La verdad es que me siento bastante perdida… no entiendo de javascript y php.
    Siquiendo lo que me has pasado he puesto esto en el functions:

    <?php
    function my_theme_enqueue_styles() {
    
     wp_enqueue_style(
        'stile', // nombre
        get_theme_file_uri( '/stile.css' ), // URL
    );
    
    wp_enqueue_style(
        'static', // nombre
        get_theme_file_uri( 'assets/css/static.css' ), // URL
    );
    
    }
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    ?>

    Pero no está bien, se me queda la web en blanco.

    ¿qué he puesto mal?
    Muchas gracias.

    Moderador almendron

    (@almendron)

    ¿No será «style» en lugar de «stile»?

    Iniciador del debate Tzita

    (@tzita)

    Sí, eso es verdad…
    Pero aún y todo no me funciona!

    Gracias.

    Moderador almendron

    (@almendron)

    Le he pedido a @cybmeta , el autor de la entrada que te he pasado, que se pase por aquí. Seguro que él te puede orientar mejor que yo.

    De todas formas, ¿has cambiado lo de stile en la primera línea?

    'stile', // nombre

    Moderador almendron

    (@almendron)

    Prueba a cambiar

    get_theme_file_uri( '/stile.css' ), // URL

    por

    get_stylesheet_uri() //URL

    Iniciador del debate Tzita

    (@tzita)

    Gracias.
    Pero tampoco… 🙁

    Moderador almendron

    (@almendron)

    Ahora lo he podido mirar con más detenimiento y tienes varios errores de sintaxis.

    Debería funcionar así:

    add_action( 'wp_enqueue_scripts', 'cyb_theme_styles' );
    function cyb_theme_styles() {
        wp_enqueue_style(
            'cyb-style',
            get_stylesheet_uri() // URL del style.css
        );
    
        wp_enqueue_style(
            'cyb-static',
            get_theme_file_uri( 'assets/css/static.css' )
        );
    }
    • Esta respuesta fue modificada hace 5 años, 10 meses por almendron.
    • Esta respuesta fue modificada hace 5 años, 10 meses por almendron. Razón: Me había dejado la primera línea
    Moderador almendron

    (@almendron)

    Lo que ya no te puedo decir es si static.css depende de la hoja de estilos principal. En ese caso, sería así:

    add_action( 'wp_enqueue_scripts', 'cyb_theme_styles' );
    function cyb_theme_styles() {
        wp_enqueue_style(
            'cyb-style',
            get_stylesheet_uri() // URL del style.css
        );
        wp_enqueue_style(
            'cyb-static',
            get_theme_file_uri( 'assets/css/static.css' ),
            array( 'cyb-style' )
        );
    }
    Iniciador del debate Tzita

    (@tzita)

    Gracias @almendron.
    Ahora ya no se me queda la web en blanco, y detecta mis static.css.
    Pero, da preferencia a los static.css del tema padre.
    Aquí se puede ver:

    ¿Como hago para que tenga prefencia el css del tema hijo?

    Moderador almendron

    (@almendron)

    En principio, bastaría con que copiaras la hoja de estilos con la misma ruta en la carpeta del tema hijo.

Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • El debate ‘Añadir varios css al tema hijo’ está cerrado a nuevas respuestas.