In diesem Tutorial erstellen wir ein WordPress-Widget, das Twitter-Trends nach Region anzeigt. Wir werden die Trends-API von Twitter verwenden und die Trends nach einer bestimmten Zeit mithilfe der Transient-API von WordPress aktualisieren.
Twitter Trends: Twitter-Trends geben einen allgemeinen Überblick darüber, worüber Millionen von Twitter-Nutzern zu bestimmten Zeitpunkten auf Twitter am meisten reden, was Ihnen einen Hinweis darauf geben wird, was auf der ganzen Welt passiert.
Twitter bietet eine Trend-API, GET-Trends /: woeid
, Dies ist eine RESTful-API, die Ergebnisse im JSON- oder XML-Format zurückgibt. Sie können das Ergebnis der API-Anfrage problemlos analysieren und anzeigen.
Twitter verwendet WOsIDs (WOEIDs) von Yahoo, um Standorte zu ermitteln, für die Trenddaten vorhanden sind.
Also, was ist WOEID (WO BEI ERDKENNZEICHNEN) ?
WOEID ist eine eindeutige Referenzkennung, die von WOESIDs von Yahoo! zur Identifizierung von Orten auf der Erde vergeben wird.
WordPress-Widgets sind WordPress-Plugins, die sich einfach zu den Widget-Bereichen Ihres WordPress-Themas wie der Seitenleiste, der Fußzeile usw. hinzufügen lassen. Um ein WordPress-Widget verwenden zu können, benötigen Sie ordnungsgemäß "Widgetized" WordPress-Themes, um Widgets in die Kopf- und Fußzeile sowie an anderen Stellen in WordPress einzubeziehen die WordPress Widget Bereiche. Über das Dashboard können Administratoren Widget-Parameter problemlos hinzufügen, neu anordnen, entfernen und aktualisieren. Die Verwendung von WordPress-Widgets ist für nicht-technische Blogbesitzer sehr, sehr einfach.
Die Verwendung von WorPress-Widgets erfordert keine Codierkenntnisse. Sie können im WordPress-Verwaltungsbereich "Darstellung -> Widgets" durch einfaches Ziehen und Ablegen hinzugefügt, entfernt und neu angeordnet werden.
Bevor wir beginnen, gehe ich davon aus, dass Sie über allgemeine Kenntnisse der WordPress Widgets-API verfügen. In diesem Tutorial werden wir Paulunds WordPress Widget Boilerplate verwenden.
Wir werden ein WordPress-Widget erstellen, mit dem Sie Twitter-Trends nach Region abrufen und auf Ihrem WordPress-Blog / Ihrer Website anzeigen können.
Das Twitter Trends Widget gibt Ihren Blog- oder Website-Besuchern einen allgemeinen Überblick darüber, worüber Millionen von Menschen auf Twitter derzeit am meisten reden, basierend auf einem bestimmten Ort. Dieses Widget gibt einen Einblick in das, was derzeit auf der ganzen Welt geschieht.
Registrieren Sie die 'TwitterTrendsWidget
'Widget in der widget_init
Aktion.
/ * Plugin-Name: WP Twitter Trends Plugin URI: http://geekslabs.com/wp-twitter-trends Beschreibung: Ein Widget zum Anzeigen von Twitter-Trends nach Region. Version: 1.0 Autor: Ajay Patel Autor URI: http://ajayy.com * / / ** * Das Widget registrieren * / add_action ('widgets_init', 'TwitterTrendsWidgetInit'); function TwitterTrendsWidgetInit () register_widget ('TwitterTrendsWidget');
Das register_widget
Funktion ruft die TwitterTrendsWidget
Klasse, die wir im nächsten Schritt erstellen werden.
/ ** * Fügt das Widget "TwitterTrendsWidget" hinzu. * / class TwitterTrendsWidget erweitert WP_Widget Funktion TwitterTrendsWidget () parent :: WP_Widget (false, $ region = 'Twitter Trends Widget'); / ** * Widget mit WordPress registrieren. * / public function __construct () parent :: __ construct ('twittertrendswidget', // Basis-ID 'TwitterTrendsWidget') // Namensarray ('classname' => 'TwitterTrendsWidget', 'description' => __ ('Ein Widget für Twitter-Trends nach Region anzeigen. ',' tfwidget '),) // Args); // Endekonstruktor
Die Widget-Funktion hilft Ihnen, Ihr Widget im Frontend anzuzeigen. Diese Funktion wird aufgerufen, um die Ausgabe des Widget zurückzugeben und im Widget-Anzeigebereich anzuzeigen (z. B. Seitenleiste, Fußzeile)..
Wie Sie sehen, sammeln wir alle erforderlichen Felder in der $ Instanz
Array wie Titel
, Region
, und Ablauf
um das Widget auf der Website im richtigen Stil anzuzeigen.
Verwenden Sie die folgende Funktion, um unser Twitter-Trends-Widget anzuzeigen.
/ ** * Frontend-Anzeige des Widgets. * * @see WP_Widget :: widget () * * @param array $ args Widgetargumente. * @param array $ instance Gespeicherte Werte aus der transienten API von WordPress. * / function widget ($ args, $ instance) extract ($ args); $ title = apply_filters ('widget_title', $ instance ['title']); $ region = apply_filters ('widget_region', $ instance ['region']); // Ausgewählte Region (Bsp. Indien) $ expiration = apply_filters ('widget_expiration', $ instance ['expiration']); // Fangzeit $ display = apply_filters ('widget_display', $ instance ['display']); // Keine Trends zum Anzeigen echo $ before_widget; if ($ title) echo $ before_title. $ title $ after_title; ?>'; für ($ i = 0; $ i < $display; $i++) echo ''. $ trends [0] [' trends '] [$ i] [' name '].' '; // Twitter Trends anzeigen echo ''; ?>
In diesem Twitter Trends Widget werden wir die folgenden Variablen verwenden:
$ title
- Unser Widget-Titel (Textfeld)$ region
- Um eine Region auszuwählen, wird das Standard-Dropdown-Menü mit dem GEOID-Wert, z. Indien: 23424848 (Dropdown-Feld)$ Verfall
- Aktualisieren Sie Trends mithilfe der WordPress Transients-API. z.B. stündlich, täglich (Dropdown-Feld)$ display
- Anzahl der anzuzeigenden Trends (Textfeld)Wir setzen die Werte dieser Variablen mit WordPress $ Instanz
Variable.
Im obigen Code verwenden wir die twitter_trends ()
Funktion. Sie brauchen sich jetzt keine Sorgen zu machen, ich werde es im nächsten Schritt erklären.
In der Funktion twitter_trends ()
wir gehen vorbei $ region
und $ Verfall
Variablen und es wird eine Reihe von Twitter-Trends nach Region zurückgegeben. Weisen Sie das dem zu $ Trends
Variable.
Als Nächstes zeigen Sie Trends mit einer for-Schleife an, wobei die Anzeige von Trends mit dem Limit begrenzt ist $ display
Variable.
Mit der Transients-API von WordPress können Sie zwischengespeicherte Daten temporär in der Datenbank speichern, indem Sie ihr einen benutzerdefinierten Namen und eine Zeitdauer geben, nach der sie automatisch ablaufen und gelöscht werden.
Weitere Informationen über die Transienten-API von WordPress finden Sie in unserer Tutorial-Reihe Erste Schritte mit der WordPress-Transienten-API.
/ ** * Verwenden der transienten API von WordPress * * @see Transients API: http://codex.wordpress.org/Transients_API * * @param array $ count gespeichert Twitter Trends nach Regionswerten der Twitter Trends API. * / function twitter_trends ($ region, $ expiration) $ count = get_transient ('twitter_trends'); if ($ count! == false) gibt $ count zurück; $ count = 0; $ url = 'https://api.twitter.com/1/trends/'.$region.'.json?count=50'; $ dataOrig = file_get_contents ($ url, true); // Abrufen des Dateiinhalts if (is_wp_error ($ dataOrig)) Rückgabe 'Fehler beim Abrufen von Daten aus der Twitter-API!'; else $ count = json_decode ($ dataOrig, true); // Abrufen des Dateiinhalts als Array set_transient ('twitter_trends', $ count, 60 * 60 * $ expiration); // set cache return $ count;
Wie ich Ihnen schon sagte, übergeben wir zwei Variablen $ region
und $ Verfall
in dieser Funktion.
Verwenden Sie jetzt die Trends API GET trends von Twitter /: woeid. Angenommen, unsere Variable $ region
hat einen Wert von "23424848". Versuchen wir, aktuelle Twitter-Trends für Indien zu ermitteln.
https://api.twitter.com/1/trends/23424848.json?count=50
Fügen Sie diese URL einfach in Ihren Browser ein. Sie sehen die Trendantwort im JSON-Format. Verwendung der file_get_contents ()
Liest eine Datei in einen String. Wenn die Antwort keinen Fehler enthält, verwenden Sie json_decode ()
Ruft einen JSON-codierten String ab und konvertiert ihn in eine PHP-Objektvariable $ count
.
Aktualisieren Sie nun die Variable Twitter Trends
set_transient ('twitter_trends', $ count, 60 * 60 * $ Ablauf); // Cache setzen
Die Update-Funktion für WordPress-Widgets wird verwendet, um unsere Widget-Formularvariablen in der Datenbank zu aktualisieren, indem ein Widget-Administrationsformular gesendet wird.
/ ** * Bereinigung der Widget-Formularwerte beim Speichern. * * @see WP_Widget :: update () * * @param array $ new_instance Werte, die gerade zum Speichern gesendet werden. * @param array $ old_instance Zuvor gespeicherte Werte aus der Datenbank. * * @return array Aktualisierte sichere Werte zum Speichern. * / Funktionsaktualisierung ($ new_instance, $ old_instance) $ instance = array (); $ instance ['title'] = strip_tags ($ new_instance ['title']); $ instance ['region'] = strip_tags ($ new_instance ['region']); $ instance ['expiration'] = strip_tags ($ new_instance ['expiration']); $ instance ['display'] = strip_tags ($ new_instance ['display']); delete_transient ('twitter_trends'); $ Instanz zurückgeben;
Widgetoptionen wurden in einer Arrayvariablen gespeichert, die aufgerufen wurde $ Instanz
. Die Update-Funktion benötigt zwei Parameter, $ new_instance
und $ old_instance
. $ old_instance
welches alle zuvor gespeicherten Optionswerte enthält, und $ new_instance
Diese enthält alle Optionswerte, die wir gerade über das Widget-Admin-Formular aktualisiert haben.
Diese Funktion setzt jeden alten Instanzwert im Array auf den entsprechenden Wert in der neuen Instanz.
Mit der Widget-Formularfunktion wird das Widget-Formular im Dashboard zum Speichern oder Aktualisieren von Widget-Variablen erstellt. Das Erstellen eines Widget-Formulars ist sehr einfach. Es wird ein HTML-Formular mit einem Feld für unsere Optionen ausgegeben.
/ ** * Back-End-Widgetformular. * * @see WP_Widget :: form () * * @param array $ instance Zuvor gespeicherte Werte aus der Datenbank. * / function form ($ instance) $ title = esc_attr ($ instance ['title']); $ region = esc_attr ($ instance ['region']); $ expiration = esc_attr ($ instance ['expiration']); $ display = esc_attr ($ instance ['display']); ?>
In dieser Funktion sehen Sie die $ Instanz
Parameter, mit dem unser HTML-Formular die gespeicherten Widget-Optionen lesen kann.
Den vollständigen Code finden Sie im WP Twitter Trends-Plugin im WordPress.org-Plugin-Verzeichnis oder können Sie ihn über den Link oben in diesem Artikel herunterladen.
Und hier haben wir erfolgreich ein WP Twitter Trends Widget entwickelt! Sie können den Quellcode herunterladen und das Layout des Front-End-Widget ändern, indem Sie neue CSS-Stile hinzufügen. Sie können auch ein Widget mit Registerkarten erstellen, um die neuesten Trends und Hashtags voneinander zu trennen. Jetzt haben Sie ein Trends-Widget auf Ihrer Website oder Ihrem Blog.
.