2015-12-01 2 views
0

WP codex меня закрутил в узлы со всеми его противоречиями и дезинформацией вокруг создания детской темы. На детской странице темы сказано, что мне нужны только style.css и functions.php. Это неверно. Родительская тема - двадцать четыре. Я попробовал рекомендованный шаблон, а затем последовал за возникающими ошибками PHP и добавил все файлы, отмеченные в жалобах. Моя дочерняя тема, двадцать четыре ребенка, теперь содержит: footer.php, functions.php, header.php, index.php, sidebar.php и style.css.wordpress child theme загружает дочерний стиль дважды, без родительского стиля

style.css файл ребенок содержит только заголовок таблицы стилей:

Theme Name: Twenty Fifteen Child 
Theme URI: http://dwp.avionicsspecialists.net/wordpress/wp-content/themes/twenty-fifteen-child/ 

Поскольку Codex противоречива я попытался вариации на тему папки URI: twentyfifteen-ребенок, twentyfifteen-ребенка и twentyfifteen. Ни один из вариантов не повлиял на результат.

Файл functions.php содержит следующий код очереди.

add_action('wp_enqueue_scripts', 'theme_enqueue_styles'); 
function theme_enqueue_styles() { 
    $parent_style = 'parent-style'; 

    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 без каких-либо стилей. Он загружает листок детского стиля дважды, а не родительскую таблицу стилей. Codex говорит, что get_template_directory_uri() всегда возвращает путь родительской темы. Не правда. В моей теме он возвращает путь к дочерней теме. В db, где wp_options.option_name = 'template', значение равно «двадцать пятнадцать-ребенок».

Если я вручную изменю это значение на «двадцать пятнадцать», я получаю результаты ближе к тому, что мне нужно. В этом случае загружаются как родительские, так и дочерние таблицы стилей. Однако ручное изменение базы данных не является допустимым решением.

У меня нет идей для вариантов. Любая помощь приветствуется.

ответ

1

Убедитесь, что заголовок style.css темы является CSS комментарий (она должна начинаться с /* и заканчиваться */) и имеет следующую строку:

/* 
Template:  twentyfifteen 
*/ 

правило в программировании:

Не удаляйте код, который вы не полностью понимаете. Рано или поздно он попадет в вентилятор.

Подробнее о детской тематике и их заголовках here.

Линия комментарий заголовок вstyle.cssнеобходимы для WordPress, чтобы быть в состоянии определить тему и отобразить его в панели управления при Дизайне> Темы как доступный вариант Темы вместе с любым другим установленным Themes ,

+0

Мне не хватало строку шаблона. Мой пример не показывал теги комментариев - он просто показывал строки, которые я редактировал с примера кода кода дочерней темы Codex [link] (http://codex.wordpress.org/Child_Themes). Эта страница Кодекса может быть гораздо более понятной в отношении шагов, необходимых для успешного создания дочерней темы. –

+0

Чтобы успешно создать дочернюю тему, которая работает, все, что вам нужно, это '/ * Template: parent-theme-folder-name * /' в начале своего 'style.css', но это не рекомендуется. В зависимости от родительской темы родительская таблица стилей может загружаться или не загружаться. Он загружается автоматически для «двадцать пятнадцати», поэтому я не слишком усложнил свой ответ :). –

1

Единственный элемент, необходимый для создания дочерней темы в рамках WordPress эта информация в style.css:

/* 
    * Theme Name: Your Child Theme Name 
    * Author: Who you are 
    * Version: 1.0 
    * Template: twentyfifteen 
    */ 

Вам не нужно включать функцию URI в functions.php.

+0

Саманта, ваше утверждение не совсем корректно. Пожалуйста, запустите дочернюю тему только с одним слоем в качестве заголовка: '/ * Шаблон: 20fifteen * /' –

+0

Спасибо @ samantha-ingram, ваш ответ действительно помог. Я также обнаружил, что функция theme_enqueue_styles() действительно необходима в дочернем файле functions.php, чтобы мой сайт работал правильно. –

Смежные вопросы