我试图制作一个儿童主题来改变一些颜色。我用过这个https://codex.wordpress.org/Child_Themes 教程,但我仍然无法完成。问题是我无法覆盖某些样式,因为我的名为“bootstrap.css”的样式表没有加载。我的职能。php文件如下所示
<?php
function my_theme_enqueue_styles() {
$parent_style = \'maxstore_theme_stylesheets\'; // This is \'twentyfifteen-style\' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/css/bootstrap.css\' );
wp_enqueue_style( \'child-style\', get_template_directory_uri() . \'/style.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
wp_enqueue_style( \'child-style\', get_template_directory_uri() . \'/css/bootstrap.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
?>
这些是正在加载的文件
EDIT 1:我现在正在使用此代码,但它仍然不起作用
<?php
function my_theme_enqueue_styles() {
$parent_style = \'maxstore_theme_stylesheets\'; // This is \'twentyfifteen-style\' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/css/bootstrap.css\' );
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/style.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/css/bootstrap.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
?>
EDIT 2:我的引导样式表正在加载,但出于某种原因,我的网站仍在使用它的另一个版本。正如您所看到的,它使用了3倍相同的样式,而真正使用的是版本3.3.4。我想用蓝色的版本1.0.2
版本3.3.4,我想使用引导版本1.0.2。
EDIT 3:来自函数的代码。我目前正在使用的php
<?php
function my_theme_enqueue_styles() {
$parent_styles = array(\'maxstore_theme_style\', \'maxstore_theme_bootstrap\');
// This is \'twentyfifteen-style\' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_styles[0], get_template_directory_uri() .
\'/style.css\' );
wp_enqueue_style( $parent_styles[1], get_template_directory_uri() .
\'/css/bootstrap.css\' );
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() .
\'/style.css\', $parent_styles, wp_get_theme()->get(\'Version\'));
wp_enqueue_style( \'child-bootstrap\', get_stylesheet_directory_uri() .
\'/css/bootstrap.css\', $parent_styles, wp_get_theme()->get(\'Version\'));
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
?>
最合适的回答,由SO网友:Tom J Nowell 整理而成
父主题与子主题
get_template_directory_uri
总是指的是父主题,当事情没有按预期加载时,您可以通过查看浏览器开发工具中的控制台来验证这一点。这些将显示错误文件夹中CSS文件的404个错误。
相反,使用get_stylesheet_directory_uri
, 这个stylesheet
函数系列始终引用当前活动主题
重复的名称
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/style.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/css/bootstrap.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
您不能将两个样式表调用为同一事物并期望它工作,这是您对所有4个样式表所做的
还请注意,您已加载bootstrap.css
从两个主题