[英]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.