Wir haben bereits über einen Code geschrieben, mit dem Sie die Gesamtzahl der Twitter-Follower als Text anzeigen können, der von Rarst beigesteuert wurde. In diesem Artikel werden wir einen fortschrittlicheren und eleganteren Code teilen, mit dem Sie die Anzahl der Twitter-Follower in WordPress anzeigen können. Auch dieses Skript wurde wieder von Rarst beigesteuert.
Funktionen
Diese Funktion ist nicht auf die Follower-Anzahl beschränkt. Sie kann jeden nicht verschachtelten Wert abrufen, der von der Twitter users/show API-Methode zurückgegeben wird.
Es hat zwei Cache-Ebenen:
- abgefragte Werte werden für $interval Sekunden als Array in der Datenbank gespeichert, unter Verwendung von WP-Optionen;
- API-Antworten werden im Speicher gespeichert, sodass Sie eine beliebige Anzahl von Feldern abfragen können, ohne mehrere API-Anfragen zu generieren.
Dies sollte sicher für mehrere Werte und mehrere Benutzer gleichzeitig verwendet werden können, ohne sich Sorgen machen zu müssen, das API-Limit zu erschöpfen.
Tutorial
Öffnen Sie zuerst die Datei functions.php Ihres Themes und fügen Sie den folgenden Code hinzu:
function rarst_twitter_user( $username, $field, $display = false ) {
$interval = 3600;
$cache = get_option('rarst_twitter_user');
$url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);
if ( false == $cache )
$cache = array();
// if first time request add placeholder and force update
if ( !isset( $cache[$username][$field] ) ) {
$cache[$username][$field] = NULL;
$cache[$username]['lastcheck'] = 0;
}
// if outdated
if( $cache[$username]['lastcheck'] < (time()-$interval) ) {
// holds decoded JSON data in memory
static $memorycache;
if ( isset($memorycache[$username]) ) {
$data = $memorycache[$username];
}
else {
$result = wp_remote_retrieve_body(wp_remote_request($url));
$data = json_decode( $result );
if ( is_object($data) )
$memorycache[$username] = $data;
}
if ( is_object($data) ) {
// update all fields, known to be requested
foreach ($cache[$username] as $key => $value)
if( isset($data->$key) )
$cache[$username][$key] = $data->$key;
$cache[$username]['lastcheck'] = time();
}
else {
$cache[$username]['lastcheck'] = time()+60;
}
update_option( 'rarst_twitter_user', $cache );
}
if ( false != $display )
echo $cache[$username][$field];
return $cache[$username][$field];
}
Verwendung
Nachdem Sie die Funktion eingefügt haben, können Sie den Code nun in jeder WordPress-Vorlagendatei verwenden, die Sie möchten. Fügen Sie einfach den folgenden Code ein:
echo rarst_twitter_user('wpbeginner', 'name').' has '.
rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
Der obige Code wird etwa so angezeigt:
WPBeginner hat 5846 Follower nach 1300 Updates.
Quelle: Rarst

Aleks
Kann mir bitte jemand erklären, wo ich meinen Twitter-Benutzernamen eingeben muss? Denn ich sehe es wirklich nicht, wo... Und es funktioniert auch nicht... Egal was ich mache... Das gibt mir einfach keinen Benutzernamen, nicht einmal, wenn ich es ganz einfach lasse, wie es jetzt ist, bekomme ich überhaupt keine Antwort auf den Benutzernamen... es wird nur angezeigt: "hat Follower nach Updates"...
Das ist alles... nichts weiter...
wpbeginner
Ersetzen Sie im Abschnitt Verwendung „wpbeginner“ durch Ihren Twitter-Namen.
Downhill_MC
das ist ein toller Code. Ich frage mich, ob es eine Möglichkeit gibt, eine Funktion zum Einbetten in Text zu erstellen (etwas wie ). downhill_mc
Sandeep
Können Sie mir bitte sagen, wie ich diese Codes in mein benutzerdefiniertes Twitter-Bild einfügen soll, wie Sie uns in Ihrem Beispiel zeigen.
Redaktion
Sie müssten CSS verwenden... leider schreiben wir auf dieser Seite keine Tutorials dazu.
Admin
Ozh
(Sie sollten eine syntaxhervorgehobene und sauber formatierte Codeanzeige haben, wirklich)
Rarst
Habe gerade bemerkt, dass Sie das + zwischen time() und 60 verloren haben
Redaktion
Danke für die Korrektur. Wir wissen es sehr zu schätzen, dass Sie die großartigen Snippets für alle zur Verfügung stellen. Ihre harte Arbeit wird wirklich geschätzt.
Admin
Angelo Beltran
Schön! Ich mag seine Flexibilität. Prost.
Rarst
Glad you found it useful.
Old snippet still works but it got kinda outdated and spread around a lot – it was getting hard to answer questions and correct outdated parts all the time.
Dieses ist etwas sperriger, hat aber eine viel erweiterte Funktionalität, um mehr Daten und für verschiedene Benutzernamen gleichzeitig anzuzeigen.
Ich beabsichtige auch, es ordnungsgemäßer zu pflegen, daher sind Feedback und Vorschläge auf der Seite meines Blogs willkommen.