Tema hijo no carga el CSS del tema padre
Estoy usando el tema MyStile para un sitio nuevo. Estoy intentando crear un tema hijo para poder modificar el tema sin que mis cambios se sobrescriban, pero una vez que activo mi tema hijo, todo el estilo parece desaparecer del sitio web.
Supongo que el problema está en algún lugar cuando llama al archivo style.css del padre.
Esto es lo que tengo en el style.css de mi tema hijo:
/*
Nombre del Tema: Blurred Edge Apparel
URI del Tema: http://www.blurrededgeapparel.com
Descripción: Tema hijo de MyStile
Autor: Blurred Edge Apparel
URI del Autor: http://www.blurrededgeapparel.com
Plantilla: mystile
Versión: 1.0.0
*/
@import url("../mystile/style.css");
También he copiado los archivos header.php y footer.php del directorio del tema padre, pero aún sin éxito.
¿Me estoy perdiendo algo aquí?

Echa un vistazo a Cómo crear un Tema Hijo y verás que:
el método anterior para cargar la hoja de estilos del tema padre era importarla usando @import: esto ya no es la mejor práctica. El método correcto para cargar la hoja de estilos del tema padre es agregar una acción wp_enqueue_scripts y usar wp_enqueue_style() en el functions.php de tu tema hijo.
Aquí está el ejemplo proporcionado:
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

El tema mystile es un tema de hace 3 años que no está listo para usar como estilo principal porque el estilo hijo está fijado en header.php en el lugar incorrecto.
La forma más rápida de corregir esto es colocar estos archivos en el directorio del tema hijo:
- Archivo style.css:
.
/*
Template: mystile
*/
- Archivo child-style.css: todas las reglas CSS que deseas aplicar
- Archivo functions.php:
.
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style'
, get_stylesheet_directory_uri() . '/child-style.css'
, array('parent-style') // declarar la dependencia
// para cargar child-style después de parent-style
);
}

https://developer.wordpress.org/themes/advanced-topics/child-themes/
La forma recomendada de encolar las hojas de estilo es agregar una acción wp_enqueue_scripts y usar wp_enqueue_style() en el functions.php de tu tema hijo. Si no tienes uno, crea un functions.php en el directorio de tu tema hijo. La primera línea de tu functions.php será una etiqueta PHP de apertura (<?php), después de la cual puedes escribir el código PHP según lo que haga el tema padre.
Si el tema padre carga ambas hojas de estilo, el tema hijo no necesita hacer nada.
Si el tema padre carga su estilo usando una función que comienza con get_template, como get_template_directory() y get_template_directory_uri(), el tema hijo solo necesita cargar los estilos del hijo, usando el handle del padre en el parámetro de dependencia.
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'child-style', get_stylesheet_uri(),
array( 'parenthandle' ),
wp_get_theme()->get('Version') // esto solo funciona si tienes Version en el encabezado del estilo
);
}
Si el tema padre carga su estilo usando una función que comienza con get_stylesheet, como get_stylesheet_directory() y get_stylesheet_directory_uri(), el tema hijo necesita cargar tanto los estilos del padre como del hijo. Asegúrate de usar el mismo handle name que usa el padre para los estilos del padre.
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
$parenthandle = 'parent-style'; // Esto es 'twentyfifteen-style' para el tema Twenty Fifteen.
$theme = wp_get_theme();
wp_enqueue_style( $parenthandle, get_template_directory_uri() . '/style.css',
array(), // si el código del tema padre tiene una dependencia, cópiala aquí
$theme->parent()->get('Version')
);
wp_enqueue_style( 'child-style', get_stylesheet_uri(),
array( $parenthandle ),
$theme->get('Version') // esto solo funciona si tienes Version en el encabezado del estilo
);
}
Mira el texto en negrita que cité arriba. Ahora verifica cómo tu tema padre está cargando su estilo, y sigue las instrucciones y el ejemplo correspondiente. El mío era el último caso, así que codifiqué el mío así:
add_action( 'wp_enqueue_scripts', 'twentytwentychild_enqueue_styles' );
function twentytwentychild_enqueue_styles() {
$parentHandle = "twentytwenty-style";
$childHandle = "twentytwentychild-style";
$theme = wp_get_theme();
wp_enqueue_style($parentHandle, get_template_directory_uri() . '/style.css',
array(), // si el código del tema padre tiene una dependencia, cópiala aquí
$theme->parent()->get('Version') // esto solo funciona si tienes Version en el encabezado del estilo
);
wp_enqueue_style($childHandle, get_stylesheet_uri(),
array($parentHandle),
$theme->get('Version') // esto solo funciona si tienes Version en el encabezado del estilo
);
}
