在WordPress中,使用 wp_enqueue_script()
和 wp_enqueue_style()
函数是官方推荐的方式来加载JavaScript和CSS文件。以下是如何使用这些函数的步骤:
加载CSS文件
使用 wp_enqueue_style()
函数可以加载CSS文件。以下是一个示例:
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' );
在这个例子中:
'parent-style'
是一个handle(句柄),用于引用样式表。get_template_directory_uri()
返回当前主题目录的URL。get_stylesheet_directory_uri()
返回当前主题(如果是子主题,则返回子主题)目录的URL。array('parent-style')
表示这个样式依赖于 'parent-style',这意味着 'parent-style' 必须先被加载。'1.0.0'
是版本号,用于缓存管理。'all'
指定样式表应用于所有媒体类型。
加载JavaScript文件
使用 wp_enqueue_script()
函数可以加载JavaScript文件。以下是一个示例:
function my_theme_enqueue_scripts() {
// 加载jQuery
wp_enqueue_script( 'jquery' );
// 加载自定义脚本
wp_enqueue_script( 'my-custom-script', get_template_directory_uri() . '/js/my-custom-script.js', array('jquery'), '1.0.0', true );
// 如果你的脚本需要使用WordPress特定的JavaScript对象或函数,比如wp.ajax,你可以传递这些对象
wp_localize_script( 'my-custom-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_scripts' );
在这个例子中:
'my-custom-script'
是一个handle(句柄),用于引用脚本。array('jquery')
表示这个脚本依赖于 'jquery',这意味着 'jquery' 必须先被加载。'1.0.0'
是版本号,用于缓存管理。true
表示脚本应该被放在页面的底部,这是推荐的加载方式,以避免阻塞页面的其他元素。
使用 wp_localize_script()
函数可以传递PHP变量到JavaScript中,这在需要从JavaScript访问WordPress设置或URL时非常有用。
确保在加载脚本和样式表时,你的函数被正确地添加到 wp_enqueue_scripts
动作钩子上,这样它们就会在WordPress加载页面的脚本和样式时被调用。