从Wordpress中的functions.php调用时,Javascript代码不会触发

时间:2018-03-18 15:08:17

标签: javascript php wordpress

我尝试从Wordpress中的functions.php文件调用JS文件。当我在jsFiddle中运行相同的代码时,一切正常。所以,我的结论是它是Wordpress特定的。

你可以在这里找到jsFiddle:jsFiddle code

这是我在functions.php

中的代码
add_action( 'wp_enqueue_scripts', 'my_enqueue_assets' );

function my_enqueue_assets() {

    wp_enqueue_style( 'cookies-consent-style', get_stylesheet_directory_uri().'/cookies-consent/cookies-consent.css' );
    wp_enqueue_script('cookies-consent', get_stylesheet_directory_uri().'/cookies-consent/cookies-consent.js');
    wp_enqueue_script('cookies-consent-content', get_stylesheet_directory_uri().'/cookies-consent/content.js');

} 

所有三个网址均有效且可从网站访问。所有都在源代码中,当我访问它们时,它们打开时没有任何错误。

当我在jsFiddle中使用Javascript面板中的content.js文件运行相同的代码时,我可以看到右下方的弹出框。

另外,我在控制台上没有任何错误。如果我在console.log('hello');中添加content.js,它仍然不在控制台输出中。

编辑:问题已修复。这是一个Breeze插件问题,它将所有JS文件移动到head标记。所以,我不得不排除它以继续加载到页脚。

1 个答案:

答案 0 :(得分:0)

有时脚本可以依赖于其他脚本,因此您需要确保脚本按正确的顺序排列。 wp_enqueue_script函数接受MODEL_LOCATION=$(gsutil ls gs://${BUCKET}/outputs/export/serv | tail -1) gcloud ml-engine models create ${MODEL_NAME} --regions $REGION gcloud ml-engine versions create ${MODEL_VERSION} --model ${MODEL_NAME} --origin ${MODEL_LOCATION} --runtime-version $TFVERSION 参数,以确保脚本在页脚中加载,如果它依赖于标题中加载的其他脚本。它还接受另一个参数$in_footer(依赖项)。

即使您正在使用Breeze - WordPress缓存插件,您仍然可以将$deps参数设置为true,以避免从缓存插件中排除脚本。尝试按如下方式更改wp_enqueue_scripts:

$in_footer