繁体   English   中英

Wordpress 子主题 style.css 不工作

[英]Wordpress child theme style.css not working

我创建了一个与父主题格式相同的文件结构。 我的父主题名为 Alpine,在 Alpine 中有一个 functions.php 和 style.css 文件。 似乎没有任何额外的 style.css 文件。

我创建了一个名为 Alpine-child 的目录,并在其中创建了一个 functions.php 和 style.css 文件。

我无法弄清楚为什么我对子 style.css 所做的任何更改都没有实现,但是当我对父 style.css 进行相同的更改时它们是

这是我的孩子 style.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' ); } ?>

看看你的<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() );
}
?>

这对我有用:

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

其他答案都没有。

从 Divi 4.4.1 更新到 Divi 4.10.8 后,子主题父 CSS 无法正常工作。 我在我的网站上做了一些研究,发现 Divi style.css 文件是空的,只有标题信息(更新后),并且显示 CSS 所需的代码现在位于不同的文件中(style-static.min.css)我将 Child Theme 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')
    );
}

您需要将子主题style.css排入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' );

查看文档

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

Craig 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并且它起作用了。

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

<?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 part之前的第一部分,无法获取自定义CSS。 我已经添加了上面建议的代码@jrod 并且它起作用了。 我需要和你们确认一下,我的子主题代码是完整的,我不需要添加任何其他内容。 我不确定这是否也获取了我在子主题 JS 文件中的自定义 JS 文件。

只需从子他们 style.css 的评论中删除版本,它在 wordpress 6.1 中对我有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM