【问题标题】:JS not working when making a Wordpress theme from an HTML template从 HTML 模板制作 Wordpress 主题时 JS 不工作
【发布时间】:2012-11-09 09:03:20
【问题描述】:

这是我的问题:我有一个带有 CSS、JS 和一些图像的 HTML 模板。我按照这里非常基本和简单的说明将其转换为 wordpress 主题:http://thethemefoundry.com/blog/html-wordpress/。为了显示图像,我必须将它们上传到 WP 库,然后更改 index.php 和其他文件中的链接,使它们不指向 /img/picture.jpg,而是指向 www.sitename.com/ wp-uploads/2012/11/picture.jpg。

当我这样做时,图片显示得很好。但是,然后我也尝试将 JS 文件上传到库中。没问题。然后,我将 header.php 文件中指向它们的链接替换为现在指向该站点的链接。就像上面一样。但是,JS 根本没有响应。

你能给我一些关于我可能做错了什么的提示吗?我已经浏览了所有文件,看看我是否没有错过链接,但一切似乎都很好。

非常感谢您

【问题讨论】:

  • 有什么活生生的例子吗?你检查路径了吗? js文件加载了吗?
  • 这是在 header.php 文件中添加它们的方式:
  • 看看 doublesharp 的回答。它包含包含文件和构建主题的正确方法。 脚本加载,我的意思是询问js文件的http请求是否确实被您的服务器识别并返回响应代码为200(ok)的脚本内容。

标签: javascript html wordpress


【解决方案1】:

您的 JavaScript 和 CSS 文件不应进入媒体上传器,它们应包含在您的主题中。从那里,您可以使用 wp_enqueue_script - http://codex.wordpress.org/Function_Reference/wp_enqueue_script - 和 wp_enqueue_style - http://codex.wordpress.org/Function_Reference/wp_enqueue_style 将它们排入队列以包含在您的标头中。

确定页面的正确方法是使用get_template_directory_uri()函数。

例如,如果您想注册 /wp-content/themes/YOUR_THEME/js/script.js 并且它依赖于 jQuery,您可以在主题的 functions.php 中使用它:

wp_enqueue_script('script_name', get_template_directory_uri()."/js/script.js" ,'jquery',false,true);

【讨论】:

  • 这是我编写代码的方式: xxx.xx.xx.xxx/cloudit/wp-content/themes/custom2/js/…); ?> 但是它仍然没有注册。请你看一下好吗?
  • 是的,我阅读了 wp_enqueue_script 帖子。我还在主题旁边上传了文件,我可以从上面发布的链接访问它们,所以我的路径是正确的。现在剩下的就是看起来正确的代码。我找不到一个有效的例子。到目前为止,尝试了 wp_enqueue_script('name' 'path') 和 wp_enqueue_script('path') 。到目前为止没有变化。
  • 非常感谢您的回答!完全具体:在我的 header.php 中,我有这一行:<script type="text/javascript" src="js/moving-clouds.js"> </script> 在将文件与主题一起上传后,我尝试替换它:<?php wp_enqueue_script('moving-clouds.js', get_template_directory_uri()."/js/moving-clouds.js" ,'jquery',false,true);?> 我没有functions.php 文件这个主题。它仍然没有注册JS。我还尝试了完整路径,而不仅仅是/js/filename.js 还有其他想法吗?
  • 只需创建一个名为functions.php 的文件并将其添加到。您还需要确保在标题中的某处有<?php wp_head() ?>。直接放到header里面就不行了。
  • 嘿,双锐,所以我都做了。我将所有内容都粘贴到了functions.php 中,并在header.php 中添加了<?php wp_head() ?>。还是不行。所有 JS 脚本似乎都不起作用。函数 php 中的语法如下: ` xxx.xx.xx.xxx/cloudit/wp-content/themes/stonecustom2/js/…" ,'jquery',false,true);?> `
猜你喜欢
  • 1970-01-01
  • 2014-07-08
  • 2017-02-19
  • 2016-07-03
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多