0

これが私のコードですfunctions.php

function facebook_likes($link){
    $obj = json_decode( file_get_contents( 'http://graph.facebook.com/?id='.$link ) );
    $likes = $obj->shares;
    return $likes;
}

function twitter_shares($link) {
    $obj = json_decode(file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.$link));
    $tweets = $obj->count;
    return $tweets;
}

に数字を表示しようとすると、index.php代わりに完全な URL が表示されます。

<p> Social: facebook (<?php facebook_likes(the_permalink()); ?>), twitter(<?php twitter_shares(the_permalink()); ?>) </p>

私のhtmlの出力は次のようになります:Social: facebook(url), twitter(url)

URL はpermalink投稿の URL です。私は何を間違っていますか?コードは明らかすぎて台無しにはなりません。

4

1 に答える 1

0

このコードにはいくつかの問題があります。

  1. the_permalink()URLを直接出力します。別のメソッドに渡すことができるものは何も返しません。get_permalink代わりに使用する必要があります。

  2. 逆に、関数は値を返しますが、使用法は値をエコーし​​ません。

  3. これは不十分な実装です。ページの読み込みは、応答を返すこれら 2 つの URL に依存します。そうでない場合、リクエストが失敗するのを待つため、ページの読み込みが非常に遅くなります。さらに、URL をクエリできる頻度が制限される可能性があります。おそらく、これには facebook/twitter ウィジェットを使用することをお勧めします。

于 2013-06-25T00:25:20.813 に答える