Intereting Posts
Показывать контент только в том случае, если участник оставил комментарий Заменять скрипты и стили на шаблон страницы, содержащий html Пользовательская иерархическая таксономия теряет иерархию интерфейса при выборе родительских и дочерних Проблема с попыткой отобразить заголовок в сообщениях Различные среды разработки (Mac и Windows) Получить идентификатор вложения из WP Customizer WP_Ajax Hook не выполняет этот код PHP Как отобразить Изменение ссылки на сообщение в течение 24 часов в категории x Опубликовать / обновить сообщение изменяет ссылки на изображение из файла url, чтобы отправить URL Как сделать shortcode, который возвращает HTML? Как удалить файл, включенный в родительскую тему с помощью locate_template () через дочернюю тему? Что такое глобальная переменная $ current_screen? Сервер SSH с WordPress Пользовательское правило перезаписи не работает Отображение последних использованных тегов

Различные способы загрузки дочерней темы css

Я заметил, что когда я загружаю CSS для дочерней темы следующим образом: https://digwp.com/2016/01/include-styles-child-theme/ , я получаю двойные записи в хромовом инспекторе для мои правила CSS и отключить второй набор, показанный для того, чтобы перейти к первому набору (например, путем проверки / снятия отметки с правил).

Это использует следующий код:

function example_enqueue_styles() { // enqueue parent styles wp_enqueue_style('parent-theme', get_template_directory_uri() .'/style.css'); // enqueue child styles wp_enqueue_style('child-theme', get_stylesheet_directory_uri() .'/style.css', array('parent-theme')); } add_action('wp_enqueue_scripts', 'example_enqueue_styles'); 

Тем не менее, я нашел другую версию здесь, на этом форуме, которая, кажется, загружает только один CSS, как я бы хотел:

 function use_parent_theme_stylesheet() { // Use the parent theme's stylesheet return get_template_directory_uri() . '/style.css'; } function my_theme_styles() { $themeVersion = wp_get_theme()->get('Version'); // Enqueue our style.css with our own version wp_enqueue_style('child-theme-style', get_stylesheet_directory_uri() . '/style.css', array(), $themeVersion); } // Filter get_stylesheet_uri() to return the parent theme's stylesheet add_filter('stylesheet_uri', 'use_parent_theme_stylesheet'); // Enqueue this theme's scripts and styles (after parent theme) add_action('wp_enqueue_scripts', 'my_theme_styles', 20); 

Может ли кто-нибудь объяснить, почему вторая версия работает правильно, и сначала повторяет правила?

Также я замечаю, что версия в кодексе также выглядит как первая. Ссылка здесь: https://codex.wordpress.org/Child_Themes#How_to_Create_a_Child_Theme

Я в замешательстве – это версия, которая загружает пользовательские правила, дважды делая что-то неправильно? Это, конечно, похоже на то, но затем оно указано как «официальная версия» (т.е. это в кодексе).

Solutions Collecting From Web of "Различные способы загрузки дочерней темы css"

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

Вторая версия, которую вы даете, действительно загружает только детскую таблицу стилей. Фильтр гарантирует, что если тема запрашивает что-то из каталога стилей (например, значок или вторичная таблица стилей), он извлекается из родительского каталога. Если вы используете вторую версию, убедитесь, что вы скопировали полный родительский style.css и адаптировали его.