Wordpress plugin - twitch stream status - может ли кто-нибудь проверить код?
function bonfire_sst_header() { ?> <!-- BEGIN MAIN WRAPPER (show only if Twitch channel name entered) --> <?php if( get_theme_mod('sst_channel_name') != '') { $url="https://api.twitch.tv/helix/streams?user_login=".get_theme_mod('sst_channel_name'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); /*curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);*/ curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Client-ID: ls2awgx5gfg9m1q6iopdqb1b7d0y6a' )); $result=curl_exec($ch); $json=json_decode($result, true); $array1=$json['data']['pagination']; ?> <div class="sst-main-wrapper"> <?php include( plugin_dir_path( __FILE__ ) . 'include.php'); ?> </div> <?php } ?> <!-- END MAIN WRAPPER (show only if Twitch channel name entered) --> <script> jQuery('.sst-twitch').each(function () { var nickname = jQuery(this).data('nickname'); <?php if ($array1[0]['type']== 0) { if( get_theme_mod('sst_offline_hide') != '') { ?><?php } else { ?>jQuery('.sst-main-wrapper, .sst-main-widget-wrapper').addClass('sst-main-wrapper-active');<?php } ?> // animations jQuery('.sst-status-text-offline').addClass('sst-current-status'); setTimeout(function() { jQuery('.sst-status-text-offline').addClass('sst-current-status-active'); jQuery('.sst-status-wrapper').addClass('sst-status-wrapper-active'); }, 25); <?php } else { ?> // show if online jQuery('.sst-main-wrapper, .sst-main-widget-wrapper').addClass('sst-main-wrapper-active'); // animations jQuery('.sst-status-text-live').addClass('sst-current-status'); setTimeout(function() { jQuery('.sst-status-text-live').addClass('sst-current-status-active'); jQuery('.sst-status-wrapper').addClass('sst-status-wrapper-active'); }, 25); <?php } ?> }); </script> <?php }
Что я уже пробовал:
плагин не работает из-за устаревшего API. Мне нужно использовать его, но мои знания json-PHP не самые лучшие. Я хочу поместить URL-адрес из учетной записи twitch, и плагин проверяет URL-адрес, и если он транслируется в прямом эфире, то тег показывает сообщение "LIVE NOW", а еще показывает "offline". Я не могу заставить его работать. Я изменил части кода, чтобы перейти с apiv3 на v5, но
if ($array1[0]['type']== 0)похоже, это не очень хорошо работает. он показывает сообщение "LIVE NOW" каждый раз, когда я меняю учетную запись twitch, даже если она не потоковая.
это оригинальный код плагина ДО мои изменения:
function bonfire_sst_header() { ?> <!-- BEGIN MAIN WRAPPER (show only if Twitch channel name entered) --> <?php if( get_theme_mod('sst_channel_name') != '') { ?> <div class="sst-main-wrapper"> <?php include( plugin_dir_path( __FILE__ ) . 'include.php'); ?> </div> <?php } ?> <!-- END MAIN WRAPPER (show only if Twitch channel name entered) --> <script> jQuery('.sst-twitch').each(function () { var nickname = jQuery(this).data('nickname'); jQuery.getJSON("https://api.twitch.tv/kraken/streams/"+nickname+"?client_id=ls2awgx5gfg9m1q6iopdqb1b7d0y6a", function(c) { if (c.stream == null) { // show if offline (unless 'Hide when not streaming' option enabled) <?php if( get_theme_mod('sst_offline_hide') != '') { ?><?php } else { ?>jQuery('.sst-main-wrapper, .sst-main-widget-wrapper').addClass('sst-main-wrapper-active');<?php } ?> // animations jQuery('.sst-status-text-offline').addClass('sst-current-status'); setTimeout(function() { jQuery('.sst-status-text-offline').addClass('sst-current-status-active'); jQuery('.sst-status-wrapper').addClass('sst-status-wrapper-active'); }, 25); } else { // show if online jQuery('.sst-main-wrapper, .sst-main-widget-wrapper').addClass('sst-main-wrapper-active'); // animations jQuery('.sst-status-text-live').addClass('sst-current-status'); setTimeout(function() { jQuery('.sst-status-text-live').addClass('sst-current-status-active'); jQuery('.sst-status-wrapper').addClass('sst-status-wrapper-active'); }, 25); } }); }); </script> <?php }