【问题标题】:Where should custom javascript be injected into a Wordpress theme?自定义 javascript 应该在哪里注入到 Wordpress 主题中?
【发布时间】:2015-08-20 22:52:07
【问题描述】:

我正在帮助一位朋友使用购买的自定义主题作为其父主题构建一个 wordpress 网站。还有一个儿童主题。

我编写了一些 javascript 来监听特定链接的点击,并更改 CSS 以响应它们。我可以让它在另一个环境中工作,但我们正在尝试弄清楚如何让它在 Wordpress 中执行。

我们已尝试将其放入 index.php(对我来说最合乎逻辑的来源,因为这对我来说最有意义,但显然 WordPress 的工作方式不同)。

所以我想弄清楚的是,你在 wordpress 中将脚本标签放在哪里(你把代码放在哪里,而不是引用我们已经拥有的 jQuery)?

【问题讨论】:

  • 这是一个自定义主题还是他从头开始构建一个?
  • 感谢@JakubBilko 的快速回复。他说父主题是自定义的(意味着他买了它),他有一个子主题。我不确定有什么区别,所以请原谅我的无知。

标签: javascript jquery wordpress


【解决方案1】:

index.php 脚本只会加载 WordPress 框架并运行它,你需要在主题/模板文件中添加你的 js 代码。

来自官方文字新闻网站的一点引用:

模板文件中的 JavaScript

安全且推荐的添加方法 JavaScript 到 WordPress 生成的页面,以及 WordPress 主题或 插件,是通过使用 wp_enqueue_script()。该功能包括 如果尚未包含脚本,则可以安全地处理 依赖关系。

你可以阅读更多here

在我看来,最好的办法是您应该使用要运行的代码创建一个 js 文件并将其上传到您的主题/模板文件夹,然后按照我提供的链接说明的方式添加脚本标签。

我的建议是不要将代码直接嵌入到模板文件中,而是从 javascript 文件中加载。

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/pathto/yourscript.js"></script>

【讨论】:

  • 不应该让新手去做错事。 wp_enqueue_script() 是“最佳实践”答案。
  • 我没有派任何人去做任何事情。我刚刚引用了官方网站并添加了关于它的意见。
【解决方案2】:

您可以通过不同的方式做到这一点:

例如在页脚中包含脚本

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/pathto/yourscript.js"></script>

或者使用wp_enqueue_script函数more info

【讨论】:

  • @Omeed 您可以在 jquery 之后添加您的自己的脚本
  • 是的,对不起我的无知,这对我来说太陌生了。通常这是可以想象的最简单的任务,您只需添加 。不习惯wordpress。谢谢@gonzalon
  • 没有比使用 wp_enqueue_script 更正确的答案了。如果你硬编码脚本,添加主题的样式表,你以后不能动态处理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 1970-01-01
  • 2014-08-14
相关资源
最近更新 更多