php WordPress的子主题style.css不工作

siotufzp  于 2023-04-10  发布在  PHP
关注(0)|答案(9)|浏览(227)

我已经创建了一个与我的父主题相同格式的文件结构。我的父主题名为Alpine,在Alpine中有一个functions.php和style.css文件。似乎没有任何额外的style.css文件。
我创建了一个名为Alpine-child的目录,并在其中创建了functions.php和style.css文件。
我不知道为什么我对子style.css所做的任何更改都没有实现,但当我在父style.css中做同样的更改时,它们却实现了
这是我的孩子风格.css:

/*
 Theme Name:   Alpine Child
 Theme URI:    http://www.creative-ispiration.com/wp/alpine/
 Description:  My first child theme, based on Alpine
 Author:       MilkshakeThemes
 Author URI:   http://themeforest.net/user/milkshakethemes
 Template:     Alpine
 Version:      1.0.0
 Tags: one-column, two-columns, right-sidebar, fluid-layout, custom-menu, editor-style, featured-images, post-formats, rtl$
 Text Domain: alpine-child
*/

这是我的functions.php子文件:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
eanckbw9

eanckbw91#

看看你的<head>标签,更重要的是看看你的样式表的顺序。
首先添加子主题中的样式,然后添加父主题中的所有样式。这将导致父主题中的样式覆盖子主题样式。
你可以使用add_action的第三个参数来改变my_theme_enqueue_styles函数的优先级,使其在父函数之后运行。这将使你的子主题样式最后排队,并允许CSS按预期工作。

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 11 );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_uri() );
}
?>
uklbhaso

uklbhaso2#

这对我很有效:

<?php
function my_theme_enqueue_styles() {
    $parent_style = 'twentyseventeen-style'; 
    $child_style = 'twentyseventeen-child-style';
    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( $child_style, get_stylesheet_uri() );
}
?>

其他答案都没有

q9rjltbz

q9rjltbz3#

从Divi 4.4.1更新到Divi 4.10.8后,子主题父CSS不工作。我在我的网站上做了一些研究,发现Divi style.css文件是空的,只有头信息(更新后),显示CSS所需的代码现在在不同的文件中(style-static.min.css)我将我的子主题functions.php文件中的文件名从style.css更改为style-static.min.css。这解决了我的问题,CSS正在工作。
下面是我使用的代码:

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles', 11);
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style-static.min.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array('parent-style')
    );
}
mxg2im7a

mxg2im7a4#

你需要将子主题style.css入队,所以你的函数应该是:

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' );

看看documentation

ymzxtsji

ymzxtsji5#

克雷格Hick的回答对我有效,我也意识到为什么我的WordPress文档中的默认代码不起作用。

<?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')
    ); }

在我的例子中,行wp_get_theme()-〉get('Version')返回1.0.0,这是与父主题相同的版本号。所以我只是将子主题css版本号更改为1.0.1,它就工作了。

ulmd4ohb

ulmd4ohb6#

我的子主题当前有以下代码:

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );

function enqueue_parent_styles() {
   wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

//load child theme custom CSS
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 11 );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_uri() );
}

?>

以前我使用的代码只有//load child theme custom CSS部分之前的第一部分,无法获取自定义CSS。我已经添加了@jrod上面建议的代码,它工作了。我需要和你们确认我的子主题代码是完整的,我不需要添加其他任何东西。我不确定这是否也会获取我在子主题JS文件中的自定义JS文件。

7vux5j2d

7vux5j2d7#

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
puruo6ea

puruo6ea8#

只是从孩子的评论中删除版本他们的风格. css它的工作为我在WordPress的6. 1

s71maibg

s71maibg9#

我在父主题和子主题中使用了相同的1.0.0版本,在我将子主题的版本更改为1.0.1之后,它对我有效

相关问题