-2

我在标题部分有一个外部 javascript,如下所示:

<head>
<script type="text/javascript" src="myscript.js"></script>
</head>

此 javascript 在网站的每个页面中为 cookie 法创建横幅。横幅仅在您第一次进入网站时显示。

我想在除两页之外的所有站点中加载此 javascript。我使用 Wordpress 和 Genesis 框架。

我怎样才能做到这一点?

4

2 回答 2

0

<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>

于 2015-05-19T20:54:48.563 回答
0

要以典型的 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

于 2015-05-19T21:17:40.467 回答