我在标题部分有一个外部 javascript,如下所示:
<head>
<script type="text/javascript" src="myscript.js"></script>
</head>
此 javascript 在网站的每个页面中为 cookie 法创建横幅。横幅仅在您第一次进入网站时显示。
我想在除两页之外的所有站点中加载此 javascript。我使用 Wordpress 和 Genesis 框架。
我怎样才能做到这一点?
我在标题部分有一个外部 javascript,如下所示:
<head>
<script type="text/javascript" src="myscript.js"></script>
</head>
此 javascript 在网站的每个页面中为 cookie 法创建横幅。横幅仅在您第一次进入网站时显示。
我想在除两页之外的所有站点中加载此 javascript。我使用 Wordpress 和 Genesis 框架。
我怎样才能做到这一点?
<head>...</head>
尝试在页面模板中添加以下 PHP ,其中
<script src="bannerscript.js"></script>
通常会去:
<?php
$nobanner = array('page1','page2');
$page = $_SERVER['SCRIPT_NAME'];
$page = str_replace('/', '',$page);
if (!in_array($page,$nobanner)) {
echo '<script src="bannerscript.js"></script>';
}
?>
该脚本检查 URI,验证页面不是不应显示横幅的页面,然后正常包含横幅请求。
在不应该显示横幅的任何页面上 - 在上面的示例中,即是page1
-page2
横幅请求永远不会包含在页面中<head>...</head>
。
要以典型的 Wordpress 方式加载脚本,您必须检查当前页面的 ID。
// Main Scripts
function register_banner_js() {
if (!is_admin()) {
/* Get id of current page*/
$page_id = get_queried_object_id();
/* Compare the non-relevant page's id with the current page's id, if they don't match, enqueue your banner script*/
$ids = array(page_id_1, page_id_2);
if (!in_array($page_id, $ids)){
wp_register_script('bannerscript', 'path/to/your/bannerscript.js', 'jquery', null, TRUE);
wp_enqueue_script('bannerscript');
}
}
}
add_action('wp_enqueue_scripts','register_banner_js')
将代码放入您的functions.php
. 确保检查您的页面 id 并将它们放入ids
包含不应加载横幅脚本的页面的所有相关 id 的数组中。
如果您想了解更多关于 Javascript 入队的信息,请查看Wordpress Hook wp_enqueue_script。