我创建了一个与父主题格式相同的文件结构。我的父主题叫做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' );
}
?>
答案 0 :(得分:13)
查看您的<head>
标记。更重要的是要查看样式表的顺序。
首先添加子主题中的样式,然后添加父主题中的所有样式。这将导致父主题中的样式覆盖您的子主题样式。
您可以使用https://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships的第三个参数更改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() );
}
?>
答案 1 :(得分:3)
这对我有用:
<?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() );
}
?>
并没有其他答案。
答案 2 :(得分:0)
您需要将子主题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' );
答案 3 :(得分:0)
<?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' );
}
?>
&#13;
答案 4 :(得分:0)
克雷格·希克(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 并且有效。
答案 5 :(得分:0)
我的子主题目前有以下代码:
<?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 文件。