簡體   English   中英

Javascript 和 Wordpress 在 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>

這個腳本給了我這個錯誤:

“未捕獲的 SyntaxError:預期的表達式,得到了 '<'”,我不知道為什么。

“它只有在我刪除 if 條件時才有效。”

  1. 我會在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 );
    }
} 

“這個腳本給了我這個錯誤“未捕獲的語法錯誤:預期的表達式,得到'<'”,我不知道為什么。”

  1. javascript文件中不需要script標簽。 因此,您可以提前 go 並刪除<script type="text/javascript"></script>

讓我知道你是否可以讓它工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM