2017-03-25 39 views
0

我不是很熟悉JavaScript,我不確定如何重寫此代碼以使用Wordpress。執行代碼時會出現一系列錯誤。其中一個錯誤與我必須將$(document).ready(function(){重寫爲jQuery(function ($) {時類似。重寫Javascript在Wordpress中使用

// JavaScript Document 
var chans = []; 
var temparr = []; 
var cSize = 0; 
var lSize = 0; 
var X = 0; 
var Y = -1; 


function sortFunction(a, b) { 
    if (a[0] === b[0]) { 
     return 0; 
    } 
    else { 
     return (a[0] < b[0]) ? -1 : 1; 
    } 
} 


function myFunction(){ 
    $("body").removeClass("loading"); 
} 

function subarray(responsData) { 
    chans.push(responsData); 
} 

function cplcheck(){ 
    if (X == cSize) { 
     process(); 
    } 
} 

function process(){ 
    if (X === cSize){ 
     setTimeout(myFunction, 500); 

     X = -1; 
     chans.sort(sortFunction); 
     $("#logos").append("<table border='0'><tr>"); 
     while (Y < lSize) { 
      Y = Y + 1; 
      X = X + 1; 
      if(Y == 3){ 
       $("#logos").append("</tr><tr>"); 
       Y = 0; 
      } 
      $("#logos").append("<td class='twitch' width='350' valign='top'>" + chans[X][0] + "<table border='0'><tr><td colspan='2' align='center'><a href='https://twitch.tv/" + chans[X][0] + "' target='_blank'><img src='" + chans[X][1] + "'></a></td></tr><tr><td colspan='2'>Playing: " + chans[X][2] + "</td></tr><tr><td colspan='2'>Status: " + chans[X][3] + "</tr><tr><td>" + chans[X][4] + " Viewers</td><td align='right'>" + chans[X][5] + " Followers</td></tr></table></td>"); 
     } 
     if(Y == 1) { 
      $("#logos").append("<td>&nbsp;</td><td>&nbsp;</td>"); 
     }else if(Y == 2){ 
      $("#logos").append("<td>&nbsp;</td>"); 
     } 
      $("#logos").append("</tr></table>");  
     } 

    } 

jQuery(function ($) { 
    $("body").addClass("loading"); 
    cSize = channels.length; 
    channels.forEach(function (channel) { 
     $.ajax({ 
      type: 'GET', 
      url: 'https://api.twitch.tv/kraken/streams/' + channel, 
      headers: { 
       'Client-ID': "client" 
      }, 
      success: function (data) { 
       X = X + 1; 
       if(data.stream != null){ 
        lSize = lSize + 1; 
        temparr = [ channel,data.stream.preview.medium,data.stream.channel.game,data.stream.channel.status,data.stream.viewers,data.stream.channel.followers ]; 
        subarray(temparr); 
        cplcheck(); 
       } else { 
        cplcheck(); 
       } 
      } 

     }); 
    }); 
}); 

以下是正在生成的錯誤。

javascript errors

+0

快速谷歌搜索顯示Wordpress採用JQuery,所以也許問題在那裏。也許代碼是用JavaScript編寫的,而Wordpress正在尋找JQuery語法。這將解釋爲什麼你必須改變'$(document).ready(function(){'''jQuery(function($){'。 –

回答

0

如果你試圖爲一個單一的頁面做到這一點,那麼你應該複製整個代碼,並把它放在一個PHP的echo語句script標籤一起。現在,php不會在wordpress頁面中工作,因此您需要在wordpress網站上安裝像insert_php這樣的插件。 [insert_php]echo '<script type="text/javascript">Your JS code here</script>';[/insert_php]。 否則,如果你想包括它在整個網站,然後:檢查Wordpress Codex

+0

使用'wp_enqueue_script('whoslive','/scripts/whoslive.js', array('jquery'),1.1,true);'沒有解決問題,它仍然存在 – Straconis

+0

然後你嘗試echo語句 –