• Ранее для подключения стилей дочерней темы использовал такой код

    function themename_scripts() {
    	enqueue_versioned_style( 'nametheme', '/style.css' );
    }
    add_action( 'wp_enqueue_scripts', 'themename_scripts' );
    
    function enqueue_versioned_script( $handle, $src = false, $deps = array(), $in_footer = false ) {
    	wp_enqueue_script( $handle, get_template_directory_uri() . $src, $deps, filemtime( get_template_directory() . $src ), $in_footer );
    }
    function enqueue_versioned_style( $handle, $src = false, $deps = array(), $media = 'all' ) {
    	wp_enqueue_style( $handle, get_template_directory_uri() . $src, $deps = array(), filemtime( get_template_directory() . $src ), $media );
    }

    Я его удалил и теперь использую код из кодекса

    <?php
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
     
        $parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
     
        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_get_theme()->get('Version')
        );
    }

    В исходном коде страницы теперь вижу 2 файла css из дочерней темы
    <link rel='stylesheet' id='child-style-css' href='https://example.com/wp-content/themes/child-theme/style.css?ver=0.1.1' type='text/css' media='all' />
    и
    <link rel='stylesheet' id='twentythirteen-style-css' href='https://example.com/wp-content/themes/child-theme/style.css?ver=2013-07-18' type='text/css' media='all' />

    Как в исходном коде страницы избавиться от записи с id twentythirteen-style-css?

Просмотр 15 ответов — с 1 по 15 (всего 26)
  • у вас 2 раза wp_enqueue_style — так чему вы удивляетесь?

    Этот код взят из кодекса. Для чего вообще они в примере 2 раза его прописали?

    я ошибся, извините.
    первый код подрубает style.css родительской темы, второй код style.css дочерней.
    плюс подрубается style.css по умолчанию.
    и выходит такое:

    
    <link rel='stylesheet' id='parent-style-css'  href='http://wptest.ru/wp-content/themes/twentytwelve/style.css?ver=5.1.1' type='text/css' media='all' />
    <link rel='stylesheet' id='child-style-css'  href='http://wptest.ru/wp-content/themes/twentytwelve-child/style.css?ver=0.1.0' type='text/css' media='all' />
    <link rel='stylesheet' id='twentytwelve-style-css'  href='http://wptest.ru/wp-content/themes/twentytwelve-child/style.css?ver=5.1.1' type='text/css' media='all' />
    

    судя по всему это известная проблема — https://wordpress.org/support/topic/how-to-add-child-theme-styles-correctly/

    правильно будет так:

    
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
     
        wp_dequeue_style( 'twentytwelve' );
        wp_deregister_style( 'twentytwelve' );
     
        $parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
     
        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_get_theme()->get('Version')
        );
    }
    

    смените только twentytwelve на нужный вам id.

    Не помогло. id прописывал twentythirteen. Или нужно twentythirteen-style-css?

    а почему нельзя создать дочернюю тему правильно, с помощью плагина https://ru.wordpress.org/plugins/child-theme-configurator/ ?

    а почему нельзя создать дочернюю тему правильно

    Т.е. в кодексе получается неправильно?

    Не помогло. id прописывал twentythirteen. Или нужно twentythirteen-style-css?

    нет, twentythirteen. я проверял у себя — у меня работает. на другой теме правда.

    Т.е. в кодексе получается неправильно?

    во-первых, это не кодекс. а во-вторых, в кодексе навалом ошибок и неточностей.

    Т.е. в кодексе получается неправильно?

    когда-то было правильно.
    Но не изменялось со времен 2го ледникового периода.

    А куда можно написать о проблеме с данной темой twentythirteen?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    У темы есть свой форум поддержки. Можете туда.

    Я написал в поддержку темы, но вероятно форум там совсем мертвый.

    Я написал в поддержку темы, но вероятно форум там совсем мертвый.

    завидую вашему упорству 🙂
    я бы давно забил. оставил бы подключение родительских стилей — а дочерние пусть движок сам подключает.

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

    Это как? Просто убрать весь код?

    Это как? Просто убрать весь код?

    зачем весь то? оставить подключение родителя:

    
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
     
        $parent_style = 'parent-style'; 
        wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    
    }
    

    А css в кеше как обновлять? В том коде можно было использовать Version.

Просмотр 15 ответов — с 1 по 15 (всего 26)
  • Тема «css дочерней темы» закрыта для новых ответов.