在某些情况下,您可能只希望在一个页面或多个页面上加载一个JavaScript文件,而不是在网站的每个页面上加载它,这主要是因为您只希望它在该页面上运行而不需要在未运行的页面上加载。大多数WordPress主题已经在所有页面上排队(加载)了必要的脚本,但是如果您想有条件地排队脚本或脚本,该怎么办?本快速教程将向您展示如何执行此操作-检查您是否在某个页面或多个页面上,如果是,则加载相应的脚本文件。
WordPress内置了很多条件标签(请参阅此处的详细信息)。利用这些来匹配您要查找的条件,您可以包装脚本的排队,以便仅在满足条件时才加载脚本。例如,如果您只希望脚本在带有“ mypage”标签的页面上运行,则可以使用条件标记if(is_page('mypage')){ 加载该脚本!}仅在该页面上有条件地排队您的脚本。
当然,您可以使用许多其他条件标签,位于上面的链接中。一些更常见的用途可能是:
- is_single() –当显示任何帖子类型(附件和页面帖子类型除外)的单个帖子时,通过使用帖子ID,标题,子词条或这三者的组合的数组来缩小范围。
- is_front_page() –当显示博客主页面并将“设置>阅读->首页显示”设置为“您的最新帖子”时,或当“设置>阅读->首页显示”设置为“ A”时静态页面”和“首页”值就是正在显示的当前页面。(令人困惑吗?请单击此处获取更多说明。)
- is_home() –这个技巧有些棘手,但是如果使用正确,它将显示您的博客文章页面。(请参阅此处。)
- is_category() –当显示特定类别或类别组的存档页面时,使用类别ID,名称,子词或这三种形式的组合来缩小范围,再加上一些条件被指定。
因此,让我们继续介绍如何使用这些标签有条件地将脚本加入WordPress。只需打开主题的functions.php文件,并在底部添加以下代码。
add_action('wp_enqueue_scripts', 'firstwd_enqueue');
function firstwd_enqueue() {
if (is_page('mypage')) {
wp_enqueue_script('script-name', get_template_directory_uri().'/path-to-script-name.js', array( 'jquery' ), '', true);
}
}
您将需要确保将“ mypage”更改为页面的标签,将“ script-name”更改为要用作脚本唯一名称的名称,并将“ / path-to-name-of-script”更改为使网址与主题目录中的脚本相匹配(通常类似于“ /assets/js/name-of-script.js”)。