2013-08-23 63 views
1

這可能是一個簡單的修復,但我真的無法得到它的工作。我的代碼如下:get_permalink的json_decode不工作

PHP(functions.php中)

<?php 
class shareCount { 
    private $url,$timeout; 

    function __construct($url,$timeout=10) { 
     $this->url=rawurlencode($url); 
     $this->timeout=$timeout; 
    } 

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

正如你可以看到上面有兩個功能:一個它獲取要解碼的鏈接和其他的JSON信息進行解碼並返回一個數字。

我所說的兩個功能在我的HTML如下:

<div> 

<?php 
$obj=new shareCount("get_permalink()"); 
echo $obj->get_tweets(); 
?> 

</div> 

我的問題是,在HTML/PHP的,我在那裏調用的函數,"get_permalink"不會在該""標記內工作。如果我刪除引號也不起作用。這種設置似乎工作的唯一方法是,如果一個鏈接被手動放在引號內。

我需要使用get_permalink()或類似的東西拉當前的帖子url,然後添加json_decode函數。

感謝

+0

什麼是get_permalink的'輸出()'無報價圍繞它?它實際上給你一個有效的URL?(也是有效的服務!) – NDM

+0

嘗試通過'post_id'在'get_permalink()'。 –

+0

它提供了一個有效的URL,但是從我瞭解的PHP腳本JSON的解碼不會處理它。我相信這是因爲它不是在引號。如果是他們,那麼它不是PHP的,並且沒有返回。 – user2052581

回答

1

對於具有相同問題的人,我已經找到了解決這一問題。它花了一段時間,但我終於修好了。最終的代碼如下:

PHP(的functions.php)

<?php 

    function get_tweets($url) { 
     $url = get_permalink($post->ID) 
     $json_string = $this->file_get_contents_curl(
      'http://urls.api.twitter.com/1/urls/count.json?url=' . $url 
     ); 
     $json = json_decode($json_string, true); 
     return isset($json['count'])?intval($json['count']):0; 
    } 
} 
?> 

並調用HTML的功能如下:

<div> 

<?php 
echo get_tweets($url); 
?> 

</div> 

基本上你需要指定PHP函數「 get_tweets「是一個網址。然後specifiy該網址爲「$ URL = get_permalink($後> ID)。然後當你調用HTML中的功能只寫回聲get_tweets($網址)。

0

$這個 - > file_get_contents_curl取代的file_get_contents

+0

這不工作,問題是,我不能使用裏面get_permalink引號 – user2052581