我在 StackOverflow 和其他网站上看到了很多关于为什么“wp_enqueue_scripts”不起作用的问题,但没有一个是我想要的。
我想将脚本导入到我的 WordPress 主题中,并且我复制了从主要开发者 Wordpress 网站上截取的一段代码。
我的“functions.php”中有以下代码,输出为“OUTPUT 1OUTPUT 4”。 似乎“wpdocs_theme_name_scripts()”永远不会接到电话。
/**
* Proper way to enqueue scripts and styles.
*/
function wpdocs_theme_name_scripts() {
echo "OUTPUT 2";
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true );
echo "OUTPUT 3";
}
echo "OUTPUT 1";
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );
echo "OUTPUT 4";
注意
wpdocs_theme_name_scripts()
在echo "OUTPUT 1";
之后和echo "OUTPUT 4";
之前不会被调用
add_action()
只会注册一个回调,当遇到wp_head()
时会运行该回调。您可以在此答案中找到更多详细信息。
您在主题中添加了
wp_head()
吗?它通常添加在 header.php
中,就在 </head>
标签之前,例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php wp_title(); ?></title>
<?php wp_head(); ?>
</head>
<?php
/* This code is use in function.php */
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );
function mytheme_scripts() {
echo "Helllo";
wp_enqueue_style( 'mytheme-owlcaroselcss', get_template_directory_uri() . '/css/owl.carousel.css', array( 'mytheme-style' ), '20150312' );
echo "Helllo1";
}
/* ****** */
?>
use in header.php with wp_head() function
<html>
<head>
<?php wp_head();?>
</head>
</html>