Поддержка Проблемы и решения Как подключить файл дополнительных стилей из дочерней темы

  • Нужно подключить файл дополнительных стилей из дочерней темы.
    Перепробовал несколько вариантов (3) не сработало. Может где-то ошибка в коде.
    файл functions.php в папке дочерней темы

    <?php
     
    // 1 вариант подключить файл стилей из дочерней темы
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/stylemobile.css' );
    }
     
    // 2 вариант подключить файл стилей из ДТ
    function my_styles_scripts() {
        wp_enqueue_style( 'easywp-child-4L', get_stylesheet_directory_uri() . '/style.css', array(), '', 'all' );
    }
    add_action( 'wp_enqueue_scripts', 'my_styles_scripts' );
     
    // Exit if accessed directly
    if ( !defined( 'ABSPATH' ) ) exit;
     
    // BEGIN ENQUEUE PARENT ACTION
    // AUTO GENERATED - Do not modify or remove comment markers above or below:
     
    if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
        function chld_thm_cfg_parent_css() {
            wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array(  ) );
    // 3 вариант подключить файл стилей из ДТ       
            wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'stylemobile.css', array(  ) );
        }
    endif;
    add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );
     
    // END ENQUEUE PARENT ACTION

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 15 ответов — с 16 по 30 (всего 51)
  • опять проблемы с сохранением… код не работает, вроде поменял путь на папку дочерней темы, что оне так?

    <?php
    // Exit if accessed directly
    if ( !defined( 'ABSPATH' ) ) exit;
    
    // BEGIN ENQUEUE PARENT ACTION
    // AUTO GENERATED - Do not modify or remove comment markers above or below:
    
    if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
        function chld_thm_cfg_parent_css() {
            wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array(  ) );
    		
    	wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_stylesheet_directory_uri() ) . 'stylemobile.css', array(  ) );
    		
        }
    endif;
    add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );
    
    // END ENQUEUE PARENT ACTION

    Смотрим документацию
    https://developer.wordpress.org/reference/functions/wp_enqueue_style/
    и видим
    $handle
    (string) (Required) Name of the stylesheet. Should be unique.

    Так оно вроде уникально: один стиль style , другой stylemobile.
    Или вы имеете ввиду 'chld_thm_cfg_parent' ?

    Или вы имеете ввиду ‘chld_thm_cfg_parent’ ?

    Именно.

    Номер я так поменял — к названию добавил цифру — не сработало.

    <?php
    // Exit if accessed directly
    if ( !defined( 'ABSPATH' ) ) exit;
    
    // BEGIN ENQUEUE PARENT ACTION
    // AUTO GENERATED - Do not modify or remove comment markers above or below:
    
    if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
        function chld_thm_cfg_parent_css() {
            wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array(  ) );
    	wp_enqueue_style( 'chld_thm_cfg_parent2', trailingslashit( get_stylesheet_directory_uri() ) . 'stylemobile.css', array(  ) );		
        }
    endif;
    
    add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );
    
    // END ENQUEUE PARENT ACTION
    

    Еще раз (или я чего-то не понимаю)
    Т.к недавно делал анологичную задачу (переходил на дочернюю, перекидывая свои правки в нее).
    Указанный плагин в настройках предлагает свой дополнительный файл стилей.
    Если это выбрать — то в функциях дочки будут две загрузки (смю мой первый пост), стандартный родительский и доплнительный дочки.
    Как я понял, старые хелпы насчет импорта в файле стилей уже не актуальный и не работают.
    Т.е. файл стилей дочки нужен только для связи с родительской.
    Далее.
    Все исправления и эксперименты делаешь в настройках — доп. стили. Они применяются сразу. Файлы стлей — кешируются и могут применяться через час, два и т.д.

    umnikov,

    Указанный плагин в настройках предлагает свой дополнительный файл стилей.

    он его создает самостоятельно (если выбрать такую опцию) и в него можно вносить правки как через сам плагин, так и в ручном режиме. Можно доп. стили подключить через import. Но при последующем копировании/архивировании дочерней темы правки эти не сохраняются, сохраняются только настройки элементов, которые вносились через плагин. Поэтому и надо подключить стили дополнительно из другого файла через functions.php

    • Ответ изменён 3 года, 10 месяцев назад пользователем jurvrn.
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Номер я так поменял — к названию добавил цифру — не сработало.

    В папке дочерней темы существует файл stylemobile.css?

    Может, я чего-то не понимаю, но если перед кодом написано: AUTO GENERATED - Do not modify, то править его — плохая идея.

    Почему бы не добавить после данного фрагмента свой собственный код:

    
    function enqueue_my_styles() {
    	wp_enqueue_style( 'my_mobile_style', get_stylesheet_directory_uri() . '/stylemobile.css' );
    }
    add_action( 'wp_enqueue_scripts', 'enqueue_my_styles' );
    

    Как я понял, старые хелпы насчет импорта в файле стилей уже не актуальный и не работают.
    Т.е. файл стилей дочки нужен только для связи с родительской.

    Вы не правильно поняли.
    Все, абсолютно все стили, изменяющие тему, можно (и даже нужно) прописывать в файле стилей.
    Доп. файлы применяются для другого.

    Файлы стлей — кешируются и могут применяться через час, два и т.д.

    Кеширование бывает разное. Браузерное, серверное, внутреннее кеширование ВП и др.
    Вы же говорите о кешровании статики. Это первое и второе. А время зависит от настроек сервера (и, если применяются, плагинов кеширования).
    Если не применяется страничное кеширование, то увидеть результат можно моментально, обойдя кеш браузера сочетанием CTRL+F5.

    Sergey Biryukov, stylemobile.css лежит рядом со style.css в дочерней теме.
    functions.php генерируется автоматически, но он и создается для того, чтобы вносить в него свои функции, дополнительно к основному.
    Тот код, что вы дали в какое место вставлять? Может имеет значение порядок исполнения. Судя по .css нужный код должен идти в конце.

    SeVlad, проблема в том что код внесенный в ручную не сохраняется, плагин пишет вот это:

    Your stylesheet has changed since the last time you used the Configurator. Please follow the steps for «CONFIGURE an existing Child Theme» under the «Parent/Child» Tab or you will lose these changes.

    Но что делать разобраться не могу чтобы сохраняло

    проблема в том что код внесенный в ручную не сохраняется, плагин пишет вот это:

    Проблема в том, что Вы игнорируете помощь:

    Плагином сделали дочку? Всё, удаляйте его.
    Дальнейшие правки файлов — по ФТП.

    Этот вариант решения будет если по другому не решить будет. Просто мне на хватает знаний, скорее всего можно что то сделал и с плагином, но все по английски…

    Просто мне на хватает знаний

    И не хотите слушать как нужно делать.. 🙁

    Я вас понял. Но дайте найдем техническое решение!
    (Просто функционал плагина мне пока нужен)

    Но дайте найдем техническое решение!

    Пустое занятие (в данном случае) тем более при отсутствии наличия необходимых базовых знаний.

    (Просто функционал плагина мне пока нужен)

    Зачем, для чего?

Просмотр 15 ответов — с 16 по 30 (всего 51)
  • Тема «Как подключить файл дополнительных стилей из дочерней темы» закрыта для новых ответов.