我想为子主题中的页面模板使用几个自定义css文件,但看看开发工具,我发现页面加载时没有请求它们。page-mp3-downloader的标题如下所示:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" charset=utf-8>
<title>Music Downloader App</title>
<!-- ================= CSS Files ================-->
<link href="https://fonts.googleapis.com/css?family=Audiowide" rel="stylesheet">
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
<?php wp_head() ?>
</head>
以及功能。php文件是:
<?php
/* This enqueues the Parent style.css file for this child theme */
function my_theme_enqueue_styles() {
$parent_style = \'twentyseventeen-style\'; // This is \'twentyseventeen-style\' for the Twenty Seventeen 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\')
);
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
/*============= Code Added by Me ======================================- */
/* Code to enqueue(load) the custom.css file for sgt. peppers page */
function wpb_adding_styles() {
if (is_page_template(\'page-sgt_peppers.php\')) {
wp_register_style(\'custom-style\', get_stylesheet_directory_uri() . \'/custom.css\');
wp_enqueue_style(\'custom-style\', get_stylesheet_directory_uri() . \'/custom.css\');
}
/* Load style sheets for MP3 Downloader page if page requested */
if (is_page(\'page-mp3-downloader.php\')) {
wp_register_style(\'custom-style\', get_stylesheet_directory_uri() . \'/css/reset-mp3.css\');
wp_enqueue_style(\'custom-style\', get_stylesheet_directory_uri() . \'/css/reset-mp3.css\');
wp_register_style(\'custom-style\', get_stylesheet_directory_uri() . \'/css/main-mp3.css\');
wp_enqueue_style(\'custom-style\', get_stylesheet_directory_uri() . \'/css/main-mp3.css\');
}
}
add_action(\'wp_enqueue_scripts\', \'wpb_adding_styles\');
page-sgt\\u peppers的css文件。php在子主题根中加载良好。但我尝试了root和in/css/for page-mp3-downloader,但从未请求过自定义css文件。我已经阅读了关于排队的WP codex,但没有看到我遗漏了什么。这是我的目录结构
. 感谢您的帮助。
更新:使用以下命令获取要加载的css文件:
/* Load style sheets for MP3 Downloader page if page requested */
if (is_page(\'mp3-downloader\')) {
wp_enqueue_style(\'wpsx-reset-mp3-style\');
wp_enqueue_style(\'wpsx-main-mp3-style\');
}
我的假设正确吗?因为mp3下载程序不是从模板构建的,而是从页面修改的文件。php that is\\u page()是要使用的条件标记吗?
最合适的回答,由SO网友:DaveLak 整理而成
以下几点:
First:
您正在使用
is_page_template()
在“\'page-sgt\\u peppers.php”队列中,然后使用
is_page()
用于“page-mp3-downloader.php”。
您应该使用is_page_template()
对于两者。
Second:
您正在使用
wp_register_style()
不正确。抄本:
注册CSS样式文件的安全方法later 与一起使用wp_enqueue_style().
请注意“以后使用”部分。注册脚本函数允许您调用wp_enqueue_style($handle);
以后不再反复列出路径和依赖关系。您根本不需要注册它们,但这是一种很好的做法,因此我将其保留在下面建议的修复中。
还应使用唯一句柄注册它们。法典:
$handle (string)(必选)样式表的名称(该名称应唯一,因为它用于标识整个系统中的脚本)。
也就是说,您可以尝试以下方法:
<?php
/* This enqueues the Parent style.css file for this child theme */
function my_theme_enqueue_styles() {
$parent_style = \'twentyseventeen-style\'; // This is \'twentyseventeen-style\' for the Twenty Seventeen 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\')
);
/*Register styles for later use*/
wp_register_style(\'wpsx-custom-style\', get_stylesheet_directory_uri() . \'/custom.css\');
wp_register_style(\'wpsx-reset-mp3-style\', get_stylesheet_directory_uri() . \'/css/reset-mp3.css\');
wp_register_style(\'wpsx-main-mp3-style\', get_stylesheet_directory_uri() . \'/css/main-mp3.css\');
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
/*============= Code Added by Me ======================================- */
/* Code to enqueue(load) the custom.css file for sgt. peppers page */
function wpb_adding_styles() {
if (is_page_template(\'page-sgt_peppers.php\')) {
wp_enqueue_style(\'wpsx-custom-style\');
}
/* Load style sheets for MP3 Downloader page if page requested */
if (is_page_template(\'page-mp3-downloader.php\')) {
wp_enqueue_style(\'wpsx-reset-mp3-style\');
wp_enqueue_style(\'wpsx-main-mp3-style\');
}
}
add_action(\'wp_enqueue_scripts\', \'wpb_adding_styles\');