我似乎无法获得我的WordPress主题的functions.php文件加载我的样式表。
我在WordPress主题的主题目录中创建的文件及其各自的内容如下;
style.css
/*
Theme Name: Theme Study
Author: A
Version: 1.0.0
*/
body {
color: #4d5a6c !important;
}
header.php
<!DOCTYPE html>
<html lang="en">
<head>
<?php wp_head(); ?>
</head>
<body>
<h2>This is the header</h2>
index.php
<?php get_header();
while ( have_posts() ) {
the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content();
}
get_footer(); ?>
footer.php
<h4>This is the footer</h4>
<?php wp_footer(); ?>
</body>
</html>
functions.php
<?php
function style_files() {
wp_enqueue_style( 'style_main', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'style_files' );
另一方面, 我意识到当我直接按如下方式在header.php文件中引用样式表时, 它可以按预期工作, 但我的目标是在我的WordPress主题的functions.php`文件中实现该目的。
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>" />
<?php wp_head(); ?>
</head>
<body>
<h2>This is the header</h2>
为什么我的style.ccs无法从functions.php文件加载?
#1
使用此代码, 我认为它适合你。
function theme_styles(){
// Load all of the styles that need to appear on all pages
wp_enqueue_style( 'main', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'custom', get_template_directory_uri() . '/css/custom.css' );
}
add_action('wp_enqueue_scripts', 'theme_styles');
#2
如果你尝试将其放在你的function.php文件中, 该怎么办:
<?php
function style_files(){
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css');
}
add_action('wp_enqueue_scripts', 'style_files');
样式ID命名为:parent-style通常用于父主题(如果你正在开发子主题或仅是单个主题), 第二个是如果你正在开发子主题, 并且应在子主题上加载style.css。
#3
与在functions.php文件中一样, 使用get_template_directory_uri()代替get_stylesheet_uri()。
下面是说明如何阅读的摘要;
function style_files() {
wp_enqueue_style(
'style_main', get_template_directory_uri() . '/style.css', array(), false, 'all'
);
}
add_action( 'wp_enqueue_scripts', 'style_files' );
这是将样式表文件添加/排队到WordPress主题中的安全方法。
上面遵循这种格式:
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
其中
$handle
(string) (Required) Name of the stylesheet. Should be unique.
$src
(string) (Optional) Full URL of the stylesheet, or path of the stylesheet relative to the WordPress root directory.
Default value: ''
$deps
(array) (Optional) An array of registered stylesheet handles this stylesheet depends on.
Default value: array()
$ver
(string|bool|null) (Optional) String specifying stylesheet version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to
false, a version number is automatically added equal to current installed WordPress version.
If set to null, no version is added.
Default value: false
$media
(string) (Optional) The media for which this stylesheet has been defined.
Accepts media types like 'all', 'print' and 'screen', or media queries like
'(orientation: portrait)' and '(max-width: 640px)'.
Default value: 'all'
此处提供更多信息。
#4
请用你的wp_enqueue_style函数替换此函数。
wp_enqueue_style( 'style', get_stylesheet_uri() );
评论前必须登录!
注册