Als ich damals mit der Entwicklung meines neuen Themes began war es mir wichtig das die Anzahl meiner Facebook Fans, Twitter Follower und der Feedburner Abonnements ohne Plugin auf der Seite angezeigt werden. Ich bin auf viele alte und nicht mehr funktionierenden Methoden gestoßen.
Auch viele Plugins sind mir über den Weg gelaufen,aber keines konnte meine Bedürfnisse befriedigen.
Dann bin ich bei Sergej auf folgenden Artikel gestoßen. Schön und gut dachte ich mir. Da fehlt mit aber jetzt noch die Facebook Freunde. Also habe ich sein Codesnippet kurzer Hand einfah erweitert.
In euren Theme Ordner gehen und die functions.php öffnen. Dort fügt ihr folgenden Code ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /** * Zeigt und speichert die Werte * * @author Sergej Müller / FB-Upgrade by Dirk Mükschi (Duergy.de) * * @param str $type Typ der Anfrage [twitter || feedburner] * @param str $id ID des Dienstes [Twitter = Profilname, FeedBurner = Feed-ID] * @param int $hours Cache-Dauer in Stunden */ function sm_show_data($type, $id, $hours = 12) { /* Leer? */ if (empty($id) || empty($type)) { return false; } /* Im Cache? */ if (!$count = get_transient('sm_count_' .$type)) { /* Request */ $count = sm_get_data($type, $id); /* Dauer */ $expiration = (is_numeric($count) ? 60 * 60 * intval($hours) : 60 * 5); /* Cachen */ set_transient( 'sm_count_' .$type, $count, $expiration ); } /* Print */ echo $count; } /** * Ruft werte aus dem Speicher oder der API ab * * @author Sergej Müller / FB-Upgrade by Dirk Mükschi (Duergy.de) * * @param str $type Typ der Anfrage * @param str $id ID des Dienstes */ function sm_get_data($type, $id) { /* URL */ if ($type == 'twitter') { $url = 'http://api.twitter.com/1/users/show.xml?screen_name=' .$id; } elseif ($type == 'feedburner') { $url = 'http://feedburner.google.com/api/awareness/1.0/GetFeedData?id=' .$id; } else { $url = 'http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=' .$id; } /* Abrufen */ $response = wp_remote_get($url); /* Fehler? */ if (is_wp_error($response)) { return '-'; } /* Kein Inhalt? */ if (!$body = wp_remote_retrieve_body($response)) { return '-'; } /* Parsen */ $xml = new SimpleXMLElement($body); /* Ausgeben */ if ($type == 'twitter') { return intval($xml->followers_count); } elseif ($type == 'feedburner') { return intval($xml->feed->entry['circulation']); } else { return intval($xml->page->fan_count); } } /* Hook */ add_action( 'sm_provider_count', 'sm_show_data', 10, 3 ); |
Nun könnt ihr die Anzahl ganz einfach in euer Theme einbauen. Geht in eurem Theme an die Stelle wo die ANzahl ausgegeben werden soll und dort wie gewohnt
1 2 3 4 5 6 | <?php // do_action('sm_provider_count','_DIENST_','_ID/USERNAME_', _CACHE_); do_action('sm_provider_count','facebook','124872004262014', 8); do_action('sm_provider_count','twitter','Duergy', 8); do_action('sm_provider_count','feedburner','f8f4lfei6lh56o1jke5vtma3g4', 8); ?> |
Ich hoffe euch damit ein wenig geholfen zu haben… Dank geht nochmals an Sergej der nicht nur gute Codesnippets hat, sondern auch mit WPSEO das beste Seo Plugin für WordPress geschrieben hatt.
Dein Kommentar