【问题标题】:Wordpress Conditional Javascript IncludeWordpress 条件 Javascript 包含
【发布时间】:2012-09-22 10:26:51
【问题描述】:

我正在尝试有条件地在 wordpress 的特定页面上包含 javascript 文件。我终于找到了一段代码,它完全符合我的要求,但它似乎不起作用。有什么想法吗?我没有包含真实的页面名称,但我使用的是页面 slug。

<?php if (is_page(array('page-slug','page-slug','page-slug'))) { ?>
   <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script>
<? } else { ?>
   <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script>
   <script src="<?php echo get_template_directory_uri(); ?>/js/conditional-script.js">    </script>
<? } ?>

我将此代码放在我在自定义模板文件中调用其余脚本的位置。

【问题讨论】:

  • 虽然这不能解决您的直接问题,但您确实应该enqueuing 您的脚本,而不是像您正在做的那样将它们添加到标题中。关于您的问题,您能否详细说明什么不起作用?是否所有页面上都加载了所有脚本?没有脚本加载吗?
  • 这段代码似乎中断了我在 custom-footer.php 中对我的脚本的所有调用,这让我相信上面的代码中存在语法错误。我只是不知道它是什么。
  • 如果没有包含在条件语句中,脚本本身是否可以正常工作?
  • 是的,如果我删除这些语句,它们就可以正常工作。

标签: javascript wordpress conditional-statements


【解决方案1】:

在倒数第三行和最后一行,您似乎正在使用&lt;? 打开该行。尝试改用&lt;?php。所以,应该是:

<?php
if (is_page(array('page-slug','page-slug','page-slug'))) 
{ ?>
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script>
<?php
} 
else 
{ ?>
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script>
    <script src="<?php echo get_template_directory_uri(); ?>/js/conditional-script.js"></script>
<?php
}
?>

正如我所提到的,我将来会推荐enqueuing scripts ;)

【讨论】:

  • 啊啊啊!!像大多数人一样,如此简单的修复。并感谢排队提示!我实际上已经阻止了默认的 WP jquery 调用并通过谷歌的 CDN 将 jquery 排队。
  • 哈哈,最简单的往往也是最容易被忽视的。很高兴我能提供帮助!
猜你喜欢
  • 2016-04-03
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
相关资源
最近更新 更多