Javascript 和 Wordpress Uncaught SyntaxError 在 woocommerce 的单个产品页面上使用 wp_enqueue_script
Javascript and Wordpress Uncaught SyntaxError using wp_enqueue_script on single product page of woocommerce
我不擅长 javascript 但我认为这段代码是正确的,因为它只是从 Zopim 网站复制和粘贴,并且在我尝试以不同的方式使用他们的小部件之前它一直在工作。
functions.php
<?php
if ( is_product()) {
function wpa_enqueue_scripts() {
wp_enqueue_script( 'wpa-main-js', get_theme_file_uri( 'js/zopim.js' ), [], null, true );
}
add_action( 'wp_enqueue_scripts', 'wpa_enqueue_scripts', 100 );
}
上面的代码还有另一个问题。我无法在产品页面上加载脚本文件。它只有在我删除 if 条件时才有效。
zopim.js
<script type="text/javascript">
window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
$.src="https://v2.zopim.com/?3eGZHNIx48cV45BpV2eeQ5nlDBvLzS0P";z.t=+new Date;$.
type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
</script>
这个脚本给我这个错误:
"Uncaught SyntaxError: expected expression, got '<'" and I have no idea why.
"It only work if I remove the if conditional."
- 我会在
wp_enqueue_scripts
挂钩中编写 if
语句。像这样:
add_action( 'wp_enqueue_scripts', 'wpa_enqueue_scripts');
function wpa_enqueue_scripts()
{
if ( is_product())
{
wp_enqueue_script( 'wpa-main-js', get_theme_file_uri( 'js/zopim.js' ), [], null, true );
}
}
"This script give me this error "Uncaught SyntaxError: expected expression, got '<'" and I have no idea why."
- 您的
javascript
文件中不需要 script
标签。所以你可以继续删除 <script type="text/javascript">
和 </script>
.
如果你能让它工作,请告诉我。
我不擅长 javascript 但我认为这段代码是正确的,因为它只是从 Zopim 网站复制和粘贴,并且在我尝试以不同的方式使用他们的小部件之前它一直在工作。
functions.php
<?php
if ( is_product()) {
function wpa_enqueue_scripts() {
wp_enqueue_script( 'wpa-main-js', get_theme_file_uri( 'js/zopim.js' ), [], null, true );
}
add_action( 'wp_enqueue_scripts', 'wpa_enqueue_scripts', 100 );
}
上面的代码还有另一个问题。我无法在产品页面上加载脚本文件。它只有在我删除 if 条件时才有效。
zopim.js
<script type="text/javascript">
window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
$.src="https://v2.zopim.com/?3eGZHNIx48cV45BpV2eeQ5nlDBvLzS0P";z.t=+new Date;$.
type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
</script>
这个脚本给我这个错误:
"Uncaught SyntaxError: expected expression, got '<'" and I have no idea why.
"It only work if I remove the if conditional."
- 我会在
wp_enqueue_scripts
挂钩中编写if
语句。像这样:
add_action( 'wp_enqueue_scripts', 'wpa_enqueue_scripts');
function wpa_enqueue_scripts()
{
if ( is_product())
{
wp_enqueue_script( 'wpa-main-js', get_theme_file_uri( 'js/zopim.js' ), [], null, true );
}
}
"This script give me this error "Uncaught SyntaxError: expected expression, got '<'" and I have no idea why."
- 您的
javascript
文件中不需要script
标签。所以你可以继续删除<script type="text/javascript">
和</script>
.
如果你能让它工作,请告诉我。