CSS en tema secundario no cargado

2

Intenté hacer un tema infantil para cambiar algunos colores. Utilicé este tutorial enlace , pero todavía no puedo hacer esto. El problema es que no puedo anular algunos estilos, porque mi hoja de estilo llamada "bootstrap.css" no se está cargando. Mi archivo functions.php se ve así

<?php
function my_theme_enqueue_styles() {
    $parent_style = 'maxstore_theme_stylesheets'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/css/bootstrap.css' );
    wp_enqueue_style( 'child-style', get_template_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version'));
    wp_enqueue_style( 'child-style', get_template_directory_uri() . '/css/bootstrap.css', array( $parent_style ), wp_get_theme()->get('Version'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>

Estos son los archivos que se están cargando

EDIT1:Ahoraestoyusandoestecódigoyaúnnofunciona

<?phpfunctionmy_theme_enqueue_styles(){$parent_style='maxstore_theme_stylesheets';//Thisis'twentyfifteen-style'fortheTwentyFifteentheme.wp_enqueue_style($parent_style,get_template_directory_uri().'/style.css');wp_enqueue_style($parent_style,get_template_directory_uri().'/css/bootstrap.css');wp_enqueue_style('child-style',get_stylesheet_directory_uri().'/style.css',array($parent_style),wp_get_theme()->get('Version'));wp_enqueue_style('child-style',get_stylesheet_directory_uri().'/css/bootstrap.css',array($parent_style),wp_get_theme()->get('Version'));}add_action('wp_enqueue_scripts','my_theme_enqueue_styles');?>

EDIT2:Mihojadeestilobootstrapseestácargando,peroporalgunarazón,misitiowebtodavíaestáusandootraversión.Comopuedever,utiliza3veceslosmismosestilosyelquerealmenteseusaeslaversión3.3.4.yquierousareldecolorazulqueeslaversión1.0.2 Versión3.3.4enlaimagenyquierousarlaversiónbootstrap1.0.2. EDITAR 3: Código de functions.php que estoy usando en este momento

<?php
function my_theme_enqueue_styles() {

    $parent_styles = array('maxstore_theme_style', 'maxstore_theme_bootstrap'); 
// This is 'twentyfifteen-style' for the Twenty Fifteen theme.

    wp_enqueue_style( $parent_styles[0], get_template_directory_uri() . 
'/style.css' );
    wp_enqueue_style( $parent_styles[1], get_template_directory_uri() . 
'/css/bootstrap.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . 
'/style.css', $parent_styles, wp_get_theme()->get('Version'));
    wp_enqueue_style( 'child-bootstrap', get_stylesheet_directory_uri() . 
'/css/bootstrap.css', $parent_styles, wp_get_theme()->get('Version'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
    
pregunta xX4m4zingXx 23.12.2017 - 00:13

2 respuestas

4

Temas de padres e hijos

get_template_directory_uri siempre se refiere al tema principal, puedes verificarlo como siempre deberías cuando las cosas no se cargan como se espera al buscar en la consola las herramientas de desarrollo de los navegadores. Estos mostrarían errores 404 para los archivos CSS, en la carpeta incorrecta.

En su lugar, use get_stylesheet_directory_uri , la familia de funciones stylesheet siempre se refieren al tema activo actual

Nombres duplicados

wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version'));
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/css/bootstrap.css', array( $parent_style ), wp_get_theme()->get('Version'));

No puedes llamar a 2 hojas de estilo de la misma manera y esperas que funcione, que es lo que has hecho con las 4 hojas de estilo

También observa que has cargado bootstrap.css desde ambos temas

    
respondido por el Tom J Nowell 23.12.2017 - 01:05
2

Cada solicitud de puesta en cola necesita un identificador único (o nombre), que es el primer argumento en el wp_enqueue_style hook . Dado que sus dos primeros y dos últimos comandos reciben el mismo identificador, es probable que solo esté cargando dos de los cuatro.

Prueba esto. Seguí tu modelo de declarar una variable para el controlador de estilo principal. He reemplazado $ parent_style con una matriz que contiene dos manejadores únicos. Tenga en cuenta que esto significa que la declaración de dependencia ya no necesita una matriz, ya que la variable que estamos usando ya es una, como se refleja en mi código.

<?php
function my_theme_enqueue_styles() {
    $parent_styles = array( 'maxstore_theme_style', 'maxstore_theme_bootstrap' );
    wp_enqueue_style( $parent_styles[0], get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( $parent_styles[1], get_template_directory_uri() . '/css/bootstrap.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', $parent_styles, wp_get_theme()->get('Version'));
    wp_enqueue_style( 'child-bootstrap', get_stylesheet_directory_uri() . '/css/bootstrap.css', $parent_styles, wp_get_theme()->get('Version'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
    
respondido por el Landing on Jupiter 23.12.2017 - 22:12

Lea otras preguntas en las etiquetas