Stworzyłem motyw potomny zgodnie z dokumentacją WP i dodałem wymaganą funkcję
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style') );
}
W jakiś sposób otrzymuję 2 odniesienia do mojego arkusza stylów podrzędnych:
<link rel='stylesheet' id='twentythirteen-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />
<link rel='stylesheet' id='child-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />
Dlaczego?
child-theme
mmcglynn
źródło
źródło
Odpowiedzi:
Ten post jest powiązany z tym postem, który zaktualizowałem teraz wraz ze zmianami w tym poście
Dziękujemy za poruszenie tego problemu. Szybko przetestowałem ten scenariusz, a styl potomny jest faktycznie ładowany dwukrotnie.
Kiedy zaktualizowałem kodeks jakiś czas temu, upewniłem się, że styl podrzędny zostanie załadowany po stylu nadrzędnym, nigdy nie biorąc pod uwagę, że jest to faktycznie wykonywane domyślnie, a podany kod faktycznie załaduje arkusz stylów podrzędnych dwukrotnie.
Można to łatwo naprawić, po prostu usuwając
$priority
z funkcji i usuwając część kolejkową dla motywu potomnego. Ponownie przetestowałem wszystko i działa. Byłoby miło, gdyby kilka osób mogło z tym współpracować.W międzyczasie zaktualizuję kodeks i link do tego postu.
Oto działający kod
EDYTOWAĆ
Dla każdego, dla kogo ten post nie działa, zobacz tym postem . Musisz przejść i sprawdzić, w jaki sposób motyw nadrzędny dodaje style. Kod w tym pytaniu ściśle wierzy, że style w rodzicu są ładowane w prawidłowy sposób, w jaki powinny być. Jeśli nie, spójrz na alternatywy w połączonej odpowiedzi i wypróbuj je
źródło
wp_get_theme()->get('Version')
. Jednak ostatecznie zduplikowałem CSS dla wersji WP i wersji motywu podrzędnego:<link rel="stylesheet" id="bushwick-style-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=4.9.8"...>
i<link rel="stylesheet" id="bushwick-child-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=1.3.6"...>
. Jakie byłoby rozwiązanie w tych przypadkach?