【发布时间】:2016-11-01 00:41:50
【问题描述】:
我通过wp_enqueue_script() 向 wordpress 主题添加了自定义 javascript
功能。
我把我的文件放在theme-folder/js/my-javascript.js
但它不会被 wordpress 找到!我会在 wordpress 插入的 html 源代码中看到脚本标记,但单击它会将我带到“未找到页面”。我环顾四周,看看这是否是一些缓存问题。关闭缓存,还是没有。
最后,我最终将 my-javascript.js 文件放在了主题文件夹的根目录中,而不是“js”文件夹。现在我的 js 文件被找到并加载了。
但现在有一个我不明白的新问题.. 我会编辑我的文件,但更改不会反映!每次进行更改时,我都必须更改 js 文件的文件名,还要在我的 enqueue 脚本函数中重命名文件……我只是想完成这项任务。
那么为什么会这样呢?该网站托管在 Dreamhost 上,我怀疑他们使用的是一键式安装程序。 Dreamhost 会自己做某种缓存吗?这就是为什么?
我笨吗?还是 wordpress 不知何故知道我讨厌它?
编辑:
这就是我加载脚本的方式以及我如何让它工作,但是为什么我的脚本在我进行更改时不会刷新,为什么当我将它放在主题的“js”文件夹中时它不工作?
/* Add floater script */
function add_floater_div_script(){
/* wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true); */
if ( is_page(1208) ) {
wp_enqueue_script( 'custom-floater', get_template_directory_uri() . '/custom-floater-8.js', array('jquery'), '', true);
}
}
add_action( 'wp_enqueue_scripts', 'add_floater_div_script' );
编辑: 将代码从“array (”更改为“array(”,因为有人认为这是一个问题。我自己做了一个快速检查,PHP 对这个空间没问题,所以这不解释我试图解决的奇怪的 wordpress 行为。
【问题讨论】:
-
对我来说似乎是缓存问题。尝试将版本号添加到您的 wp_enqueue_script()。它应该看起来像
wp_enqueue_script( 'custom-floater', get_template_directory_uri() . '/custom-floater-8.js', array ( 'jquery' ), '1.2', true); -
你确定?我还尝试通过 url 直接访问 javascript 文件并更改 wordpress 在 = 字符之后添加的最后一个数字。
-
hxxp://wordpress-site.org/wp-content/themes/my-theme/custom-floater-8.js?ver=4.6.1 我试图删除“?ver= 4.6.1" 部分并直接访问文件。也试过修改数字,还是不行。
标签: wordpress