2017-03-25 40 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语句 –