Как использовать методы размещения родительской темы

В соответствии с кодексом при создании дочерней темы вам необходимо вручную установить сценарии родительской темы.

Моя родительская тема имеет логику условно отображать различные файлы css, кешированные css и динамические css, созданные с панели инструментов « Параметры темы» . Тема называется Камилла.

function camille_scripts() { wp_register_style('bootstrap', get_template_directory_uri() . '/css/bootstrap.css'); wp_enqueue_style( 'bootstrap' ); //...more scripts & styles } function camille_enqueue_dynamic_styles( ) { //renders wp_options to physical file & enqueues physical file //... wp_register_style( $cache_file_name, $css_cache_file_url, $cache_saved_date); wp_enqueue_style( $cache_file_name ); //... } 

Я попытался вызвать эти методы в своей функции function.php моей собственной темы …

 function my_theme_scripts() { camille_scripts(); camille_enqueue_dynamic_styles(); } add_action('wp_enqueue_scripts', 'my_theme_scripts'); 

Но ничего не было включено. Я проверил разметку, и ни одна из родительских тем CSS не была там. Затем я попытался скопировать полный источник этих методов в мои functions.php и все стили, созданные как обычно. Тем не менее, я не хочу этого делать, потому что код для копирования кода нарушает DRY, и если тема обновляется, моя дочерняя тема не будет менять изменения.

Почему мои родительские стили темы не отображаются для разметки? Есть ли лучшая практика для включения родительского CSS, когда родитель использует сложную логику для создания и размещения в CSS?

Если нужные функции находятся в функции parent.php родительской темы, вы можете включить их в текущую исполняемую дочернюю тему functions.php с помощью этого вызова:

 include( get_template_directory() . '/functions.php'); 

get_template_directory() находит родительский каталог даже при использовании дочерней темы.

Обратите внимание, что это запустит все найденное в исполняемом файле в functions.php родительской темы. Поэтому, что бы это ни было, это будет делать, когда вы втянете его.

Если в родительских functions.php есть вещи, которые вы не хотите, вы всегда можете их удалить ( после вызова get_template_directory() ) в functions.php child.php ребенка с соответствующей функцией wp_dequeue_script() : wp_dequeue_script() или wp_dequeue_style()