2016-03-07 2 views
0

Я разрабатываю свою собственную тему, и я заметил, что некоторые из ссылок приводят к тому, что я показываю простой текст HTML вместо обычной веб-страницы. Я отследил эту проблему и выяснил, что это происходит, когда я включаю в свой файл functions.php один настраиваемый php-файл. Я нашел этот код в одном из уроков о том, как создавать кнопки социальных долей. Если я прокомментирую, что все работает как шарм. Я попытался расследовать файл, но я не мог найти в этом ничего плохого, не могли бы вы посмотреть, что может быть неправильным?Обычный текст (HTML) в wordpress admin

<?php 
function get_likes($url) { 
    $json_string = file_get_contents('https://api.facebook.com/method/links.getStats?urls=' . $url . '&format=json'); 
    $json = json_decode($json_string, true); 
    if(isset($json[0]['total_count'])){ 
      return intval($json[0]['total_count']); 
    } else { return 0;} 
} 

function get_tweets($url) { 
    $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url); 
    $json = json_decode($json_string, true); 
    if(isset($json['count'])){ 
     return intval($json['count']); 
    } else {return 0;} 
} 

function get_plusones($url) { 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc"); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]'); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json')); 
    $curl_results = curl_exec ($curl); 
    curl_close ($curl); 

    $json = json_decode($curl_results, true); 
    if(isset($json[0]['result']['metadata']['globalCounts']['count'])){ 
     return intval($json[0]['result']['metadata']['globalCounts']['count']); 
    } else {return 0;} 
} 
function get_stumble($url) { 
    $json_string = file_get_contents('http://www.stumbleupon.com/services/1.01/badge.getinfo?url='.$url); 
    $json = json_decode($json_string, true); 
    if (isset($json['result']['views'])) { 
     return intval($json['result']['views']); 
    } else {return 0;} 
} 


if(isset($_GET["thisurl"])){ 
    $thisUrl=$_GET["thisurl"]; 
    $firstpart = substr("$thisUrl", 0, 22); 
    // Change http://medialoot.com to your own domain! 
    if ($firstpart == 'http://mdbootstrap.com') { 
     $data = "{"; 
     $data .= '"facebook": '. json_encode(get_likes($thisUrl)) . ", "; 
     $data .= '"twitter": ' . json_encode(get_tweets($thisUrl)) . ", "; 
     $data .= '"gplus": ' . json_encode(get_plusones($thisUrl)) . ", "; 
     $data .= '"stumble": ' . json_encode(get_stumble($thisUrl)) . "}"; 
    } else { 
     //throw error 
     $data = 'ERROR - you are trying to use this script for something outside of the allowed domain'; 
    } 

} else { 
    $data = ''; 
} 

    header('Content-Type: application/json'); 
    echo $data; 
?> 

ответ

0

Вы echo ING содержание $data - Я думаю, Thats также то, что вы видите, если я правильно понял, что.

Если код включен в ваш functions.php, то он, вероятно, будет выполнен, как только загрузится файл functions.php, что может быть слишком поздно или слишком рано.

Для управления , когда код выполняет, вы должны взглянуть на WordPress Hooks и подключить свой код к этому механизму.

Если вы можете рассказать мне больше о том, что именно вы пытаетесь сделать, я мог бы дать более подробный ответ.

Как и в случае с сайтом: следите за тем, чтобы не пересекать территорию плагина с вашей темой. Как только вы пытаетесь сделать что-то большее, чем модифицировать внешний вид, оно больше не относится к functions.php, а отдельному плагину.

Смежные вопросы