Wir haben zuvor über einen Code geschrieben, mit dem Sie die Anzahl der Twitter-Follower anzeigen können, die von beigetragen wurden Selten. 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.
Merkmale
Diese Funktion ist nicht auf die Anzahl der Follower beschränkt. Es kann jeden nicht verschachtelten Wert abrufen, der von zurückgegeben wird Twitter-Benutzer/API-Methode anzeigen.
Es hat zwei Cache-Ebenen:
- abgefragte Werte werden unter Verwendung von WP-Optionen für $interval Sekunden als Array in der Datenbank gespeichert;
- API-Antworten werden im Arbeitsspeicher gespeichert, sodass Sie eine beliebige Anzahl von Feldern abfragen können, ohne mehrere API-Anforderungen zu generieren.
Dies sollte sicher zu verwenden sein, um Werte zu multiplizieren und Benutzer gleichzeitig zu multiplizieren, ohne sich Gedanken über das Erschöpfen des API-Limits machen zu müssen.
Lernprogramm
Öffnen Sie zuerst Ihr Thema Funktionen.php Datei 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 jetzt in jeder beliebigen WordPress-Vorlagendatei verwenden. 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 zeigt etwa Folgendes an:
Themelocal hat nach 1300 Updates 5846 Follower.