WordPress: Twitter, Facebook und Google+ Follower/Fan/Circle Count mit PHP ausgeben

Update Februar 2014

Die Snippets funktionieren aufgrund der veralteten API’s nicht mehr. Eine Alternative wäre das Social Count Plus Plugin.

Möchte man die Anzahl seiner Fans, Followers oder Circles von Twitter, Facebook oder Google+ ausgeben, könnte man es mit folgenden Funktionen umsetzen.

Twitter Follower Count

function twitter_count(){
         $count = get_transient('twitter_count');
    if ($count !== false) return $count;
         $count = 0;
         $dataOrig = file_get_contents('http://twitter.com/users/show/HIER DIE TWITTER ID');
   if (is_wp_error($dataOrig)) {
         return 'Error!!!';
   }else{
         $profile = new SimpleXMLElement ( $dataOrig );
         $countOrig = $profile->followers_count;
         $count = strval ( $countOrig );
         }
set_transient('twitter_count', $count, 60*60*24); // 24 hour cache
return $count;
}

Die Ausgabe erfolgt dann an gewünschter Stelle mit:

<!--?php echo twitter_count(); ?-->

Facebook Fan Count

function fb_count(){
         $fb_id = 'HIER DIE FACEBOOK ID';
         $count = get_transient('fb5_count');
    if ($count !== false) return $count;
         $count = 0;
         $data = wp_remote_get('http://api.facebook.com/restserver.php?method=facebook.fql.query&amp;query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id='.$fb_id.'');
   if (is_wp_error($data)) {
         return 'Error!!';
   }else{
        $countOrig = strip_tags($data[body]);
    $count = preg_replace('/\s+/','',$countOrig); // strip whitespace
   }
set_transient('fb5_count', $count, 60*60*24); // 24 hour cache
return $count;
}

Die Ausgabe erfolgt dann an gewünschter Stelle mit:

<!--?php echo fb_count(); ?-->

Google+ Circle Count

function gplus_count(){
         $count = get_transient('gplus_count');
    if ($count !== false) return $count;
         $count = 0;
        $data = file_get_contents('http://widgetsplus.com/google_plus_widget.php?pid=HIER DIE GOOGLE+ ID');
   if (is_wp_error($data)) {
         return 'whoa error!!!';
   }else{
        $match = preg_match('/<strong>(.*?)&lt;\/strong&gt;/s', $data, $results);
        if ( isset ( $results ) &amp;&amp; !empty ( $results ) )
                {
                        $count = $results[1];
                }
        }
set_transient('gplus_count', $count, 60*60*24); // 24 hour cache
return $count;
}
</strong>

Die Ausgabe erfolgt dann an gewünschter Stelle mit:

<!--?php echo gplus_count(); ?-->

Quelle: wpforce.com