【问题标题】:child theme is not loading whole style from parent theme子主题未从父主题加载整个样式
【发布时间】:2016-10-01 15:18:20
【问题描述】:

这是我的测试页电子商务商店:https://shop.amir-rahbaran.com/

这是父样式: https://colorlib.com/shapely

functions.php:

<?php
function my_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_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>

shapely-master(父级)和 shapely-child 都位于 theme 文件夹中(相同的层次结构)。

这是我的身材匀称的孩子 style.css:

/*
Theme Name: Shapely-Child
Template: shapely
Theme URI: https://colorlib.com/wp/themes/shapely
Author: colorlib - modified by Sandra J. / Amir R.
Author URI: https://colorlib.com/
Description: [...]
Version: 1.0.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shapely
[ ... ]
*/

【问题讨论】:

    标签: php css wordpress wordpress-theming


    【解决方案1】:

    要使其正常工作,您可以尝试将函数 my_theme_enqueue_styles 的代码替换为以下修改后的代码。

      function my_theme_enqueue_styles() {
    
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array('shapely-bootstrap') );
        wp_dequeue_style('shapely-style');
        wp_enqueue_style( 'shapely-style',
            get_stylesheet_directory_uri() . '/style.css',
            array('parent-style')
        );
    }
    

    要解决这个问题,请按照我上面的描述在函数 my_theme_enqueue_styles 中进行更改,然后在您的子主题的 style.css 文件中更改以下行

    模板:匀称

    下面一行。

    模板:shapely-master

    【讨论】:

    • 感谢您的回复。不幸的是,这并没有奏效。也许我这边的新信息有帮助?谢谢,阿米尔
    • 感谢您提供有关您的儿童主题的更多信息。请参阅上面我修改后的答案。
    • 我已经修改了上面的共享函数my_theme_enqueue_styles,所以请尝试使用它。
    【解决方案2】:

    这样子就不行了:

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/shop.amir-rahbaran.com/wp-content/themes/shapely-master/style.css' );
    

    因为入队的结果是样式表路径不正确:

    ../wp-content/themes/twentyfifteen/shop.amir-rahbaran.com/wp-content/themes/shapely-master/style.css
    

    用检查工具检查您的网站源代码后,它似乎工作正常。

    我也测试过以下功能,它可以工作:

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

    还是不适合你?

    【讨论】:

    • 它有效,但不完全。按钮显示不正确。它们应该是这样的:colorlib.com/shapely
    猜你喜欢
    • 2013-07-13
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多