在WordPress中,使用 wp_enqueue_script()
和 wp_enqueue_style()
函数是管理前端脚本和样式表的推荐方式。以下是如何使用这些函数来正确加载脚本和样式表的步骤:
加载样式表(CSS)
使用 wp_enqueue_style()
函数可以加载样式表。以下是一个示例:
function my_theme_enqueue_styles() {
// 注册样式表
wp_enqueue_style('my-theme-style', get_stylesheet_uri());
// 如果有额外的样式表,也可以这样加载
wp_enqueue_style('my-theme-fontawesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css', array(), '5.15.3', 'all');
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles');
在这个例子中,my-theme-style
是注册的样式表的标识符,get_stylesheet_uri()
是获取当前主题样式表的函数。对于额外的样式表,如Font Awesome,我们提供了完整的URL、依赖关系数组、版本号和媒体类型。
加载脚本(JavaScript)
使用 wp_enqueue_script()
函数可以加载JavaScript脚本。以下是一个示例:
function my_theme_enqueue_scripts() {
// 注册脚本
wp_enqueue_script('my-theme-script', get_template_directory_uri() . '/js/my-script.js', array('jquery'), '1.0.0', true);
// 如果脚本依赖于其他脚本,可以在依赖数组中添加它们
wp_enqueue_script('my-theme-plugin', get_template_directory_uri() . '/js/my-plugin.js', array('my-theme-script'), '1.0.0', true);
// 如果需要在脚本中传递变量,可以使用wp_localize_script()
wp_localize_script('my-theme-script', 'my_ajax_obj', array(
'ajax_url' => admin_url('admin-ajax.php'),
'some_data' => 'Some data to pass to JavaScript',
));
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_scripts');
在这个例子中,my-theme-script
是注册的脚本的标识符,get_template_directory_uri()
是获取当前主题目录的函数,后面跟着脚本的路径。array('jquery')
表示这个脚本依赖于jQuery,'1.0.0'
是脚本的版本号,true
表示脚本应该被放在页面的底部。
注意事项
- 确保
wp_enqueue_script()
和wp_enqueue_style()
函数在wp_enqueue_scripts
动作钩子中被调用。 - 如果脚本或样式表依赖于其他脚本或样式表,请在依赖数组中指定它们。
- 使用正确的版本号可以帮助浏览器缓存文件,直到文件内容发生变化。
- 使用
wp_localize_script()
可以在JavaScript中访问PHP变量。
遵循这些步骤可以帮助你正确地在WordPress中加载脚本和样式表。