在WordPress中,使用 wp_enqueue_script()
和 wp_enqueue_style()
函数是管理前端脚本和样式表的推荐方式。以下是如何正确使用这些函数的步骤:
加载样式表(CSS)
使用 wp_enqueue_style()
函数来加载样式表。
function my_theme_enqueue_styles() {
// 注册样式表
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
// 如果是子主题,可以这样加载父主题的样式
// wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
// 加载额外的样式表
wp_enqueue_style( 'my-custom-style', get_stylesheet_directory_uri() . '/css/my-custom-style.css', array('parent-style'), '1.0.0', 'all' );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
参数说明:
'my-custom-style'
: 样式表的唯一标识符。get_stylesheet_directory_uri() . '/css/my-custom-style.css'
: 样式表的URL。array('parent-style')
: 依赖关系数组,表示这个样式表依赖于 'parent-style' 样式表。'1.0.0'
: 样式表的版本号,用于缓存管理。'all'
: 样式表的应用媒体类型。
加载脚本(JavaScript)
使用 wp_enqueue_script()
函数来加载JavaScript脚本。
function my_theme_enqueue_scripts() {
// 注册jQuery(如果WordPress没有在页面上默认加载它)
wp_enqueue_script( 'jquery' );
// 加载自定义脚本
wp_enqueue_script( 'my-custom-script', get_stylesheet_directory_uri() . '/js/my-custom-script.js', array('jquery'), '1.0.0', true );
// 如果你的脚本需要使用任何特定的JavaScript变量,你可以使用wp_localize_script()来传递数据
$translation_array = array(
'some_string' => __( 'Some string to translate', 'text-domain' ),
'a_value' => '10'
);
wp_localize_script( 'my-custom-script', 'object_name', $translation_array );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_scripts' );
参数说明:
'my-custom-script'
: 脚本的唯一标识符。get_stylesheet_directory_uri() . '/js/my-custom-script.js'
: 脚本的URL。array('jquery')
: 依赖关系数组,表示这个脚本依赖于 'jquery' 脚本。'1.0.0'
: 脚本的版本号,用于缓存管理。true
: 表示脚本应该被放在页面的底部(在</body>
标签之前),以避免阻塞页面渲染。
确保在加载脚本和样式之前注册它们,并且只在 wp_enqueue_scripts
钩子上调用 wp_enqueue_script()
和 wp_enqueue_style()
函数。
通过这种方式,你可以确保你的脚本和样式表在WordPress中正确地加载,同时避免潜在的问题,比如脚本冲突和重复加载。