Twitter Trends Widget pour WordPress

Dans ce didacticiel, nous allons créer un widget WordPress affichant les tendances Twitter par région. Nous utiliserons l'API Trends de Twitter et mettrons à jour les tendances après une durée déterminée à l'aide de l'API transitoires de WordPress..


API de tendances Twitter et WOEID

Tendances Twitter: Twitter Trends donne un aperçu général de ce que les millions d'utilisateurs de Twitter parlent le plus à un moment donné sur Twitter, ce qui vous donnera une indication de ce qui se passe dans le monde..

Twitter fournit une API Trends, GET tendances /: woeid, qui est une API RESTful qui renvoie des résultats au format JSON ou XML. Vous pouvez facilement analyser le résultat de la demande d'API et l'afficher.

Twitter utilise les identifiants Où sur Terre (WOEID) de Yahoo pour identifier les emplacements pour lesquels il dispose de données de tendances.

Alors, qu'est-ce que WOEID (O ON IDENTIFIANT DE LA TERRE)? ?
WOEID est un identifiant de référence unique attribué par les WOEID de Yahoo! pour identifier n’importe quel endroit sur Terre..


Widgets WordPress

Les widgets WordPress sont des plugins WordPress qui peuvent être facilement ajoutés à des régions widgetisées de votre thème WordPress, telles que la barre latérale, le pied de page, etc. Pour utiliser un widget WordPress, vous devez disposer de thèmes WordPress "widgetisés" correctement afin d'inclure des widgets dans l'en-tête, le pied de page et ailleurs. les zones de widget WordPress. À partir du tableau de bord, les administrateurs peuvent facilement ajouter, réorganiser, supprimer et mettre à jour les paramètres du widget. L'utilisation de widgets WordPress est très, très facile pour les propriétaires de blog non techniques.

L'utilisation des widgets WorPress ne nécessite aucune expérience de codage. Ils peuvent être facilement ajoutés, supprimés et réorganisés sur le panneau "Apparence -> Widgets" de l'administration WordPress par un simple glisser-déposer..

Avant de commencer, je suppose que vous avez une connaissance générale de l’API WordPress Widgets. Dans ce tutoriel, nous allons utiliser le WordPress Widget Boilerplate de Paulund.


Création d'un widget Twitter Trends

Nous allons créer un widget WordPress qui vous permettra de rechercher les tendances Twitter par région et de les afficher sur votre blog / site Web WordPress..

Le widget Tendances de Twitter donne aux visiteurs de votre blog ou de votre site Web un aperçu général de ce dont parlent le plus de millions de personnes sur Twitter, en fonction d'un lieu spécifique. Ce widget donnera un aperçu de ce qui se passe dans le monde en ce moment..

Création du constructeur du widget

Enregistrer le 'TwitterTrendsWidget'widget dans le widget_init action.

 / * Nom du plug-in: WP Twitter Trends URI du plug-in: http://geekslabs.com/wp-twitter-trends Description: Un widget permettant d'afficher les tendances Twitter par région. Version: 1.0 Auteur: Ajay Patel URI de l'auteur: http://ajayy.com * / / ** * Enregistrez le widget * / add_action ('widgets_init', 'TwitterTrendsWidgetInit'); function TwitterTrendsWidgetInit () register_widget ('TwitterTrendsWidget'); 

le register_widget la fonction appellera le TwitterTrendsWidget classe que nous allons créer à l'étape suivante.

 / ** * Ajoute le widget TwitterTrendsWidget. * / class TwitterTrendsWidget étend WP_Widget fonction TwitterTrendsWidget () parent :: WP_Widget (false, $ region = 'Twitter Trends Widget');  / ** * Enregistrez un widget avec WordPress. * / public function __construct () parent :: __ construct ('twittertrendswidget', // ID de base 'TwitterTrendsWidget', // tableau de noms ('classname' => 'TwitterTrendsWidget', 'description' => __ ('Un widget à affiche les tendances Twitter par région. ',' tfwidget '),) // Args);  // constructeur de fin

Création de la fonction widget

La fonction Widget vous aide à afficher votre widget sur le front-end. Cette fonction est appelée pour renvoyer la sortie du widget et l'afficher dans la zone d'affichage du widget (barre latérale, pied de page, par exemple)..

Comme vous pouvez le constater, nous collectons tous les champs obligatoires du $ instance tableau comme Titre, Région, et expiration afficher le widget sur le site avec le style approprié.

Utilisez la fonction suivante pour afficher notre widget Tendances Twitter.

 / ** * Affichage frontal du widget. * * @see WP_Widget :: widget () * * @param array $ args Arguments du widget. * @param array $ instance Valeurs enregistrées à partir de l'API transitoire de WordPress. * / widget de fonction ($ args, $ instance) extract ($ args); $ title = apply_filters ('widget_title', $ instance ['title']); $ region = apply_filters ('widget_region', $ instance ['region']); // Région sélectionnée (Ex. Inde) $ expiration = apply_filters ('widget_expiration', $ instance ['expiration']); // heure de capture $ display = apply_filters ('widget_display', $ instance ['display']); // Aucune tendance à afficher echo $ before_widget; if ($ title) echo $ before_title. $ titre. $ after_title; ?> 
'; pour ($ i = 0; $ i < $display; $i++) echo '
  • '. $ trends [0] [' trends '] [$ i] [' name '].'
  • '; // Afficher les tendances Twitter echo ''; ?>

    Dans ce widget Twitter Trends, nous utiliserons les variables suivantes:

    • $ title - Notre titre de widget (champ de zone de texte)
    • $ région - Pour sélectionner une région, liste déroulante de région par défaut avec la valeur GEOID, par ex. Inde: 23424848 (champ déroulant)
    • $ expiration - Mettez à jour les tendances à l'aide de l'API WordPress Transients. par exemple. horaire, quotidien (champ déroulant)
    • $ display - Nombre de tendances à afficher (zone de texte)

    Nous allons définir les valeurs de ces variables en utilisant le WordPress $ instance variable.

    Dans le code ci-dessus, nous utilisons le twitter_trends () une fonction. Vous n'avez pas besoin de vous en préoccuper maintenant, je l'expliquerai à l'étape suivante..

    Dans la fonction twitter_trends () nous passons $ région et $ expiration variables et il renverra un tableau des tendances Twitter par région. Attribuer cela à la $ tendances variable.

    Ensuite, affichez les tendances à l'aide d'une boucle for avec une limite d'affichage des tendances à l'aide de la touche $ display variable.

    Utilisation de l'API transitoires de WordPress.

    L'API transitoire de WordPress vous permet de stocker temporairement les données en cache dans la base de données en lui attribuant un nom personnalisé et une durée après laquelle elles expireront automatiquement et seront supprimées..

    Pour plus d'informations sur l'API transitoires de WordPress, vous pouvez vous reporter à notre série de didacticiels Mise en route avec l'API WordPress Transients..

     / ** * Utilisation de l’API transitoire WordPress * * @votre API Transients: http://codex.wordpress.org/Transients_API * * @param array $ count saved Les valeurs de Twitter Trends by region par Twitter Trends API. * / function twitter_trends ($ région, $ expiration) $ count = get_transient ('twitter_trends'); if ($ count! == false) renvoie $ count; $ count = 0; $ url = 'https://api.twitter.com/1/trends/'.$region.'.json?count=50'; $ dataOrig = file_get_contents ($ url, true); // récupère le contenu du fichier if (is_wp_error ($ dataOrig)) return 'Erreur lors de l'extraction des données de l'API Twitter!';  else $ count = json_decode ($ dataOrig, true); // récupère le contenu du fichier sous forme de tableau set_transient ('twitter_trends', $ count, 60 * 60 * $ expiration); // set cache return $ count; 

    Comme je vous l'ai déjà dit, nous passons deux variables $ région et $ expiration dans cette fonction.

    Maintenant, en utilisant les tendances Trends GET de l'API Twitter de Twitter /: woeid. Supposons que notre variable $ région a une valeur de "23424848". Essayons de connaître les tendances actuelles sur Twitter pour l'Inde.

     https://api.twitter.com/1/trends/23424848.json?count=50

    Il suffit de coller cette URL dans votre navigateur. Vous verrez la réponse aux tendances au format JSON. En utilisant le file_get_contents () lit un fichier dans une chaîne. S'il n'y a pas d'erreur dans la réponse, alors utilisez json_decode () obtient une chaîne encodée JSON et la convertit en une variable objet PHP $ compte.

    Maintenant, mettez à jour la variable Twitter Trends

     set_transient ('twitter_trends', $ count, 60 * 60 * $ expiration); // définir le cache

    Création d'une fonction de mise à jour de widget

    La fonction de mise à jour du widget WordPress est utilisée pour mettre à jour nos variables de formulaire de widget dans la base de données en soumettant un formulaire administrateur de widget..

     / ** * Désinfecte les valeurs de formulaire du widget lors de leur enregistrement. * * @see WP_Widget :: update () * * @param array $ new_instance Valeurs qui viennent d'être envoyées pour être sauvegardées. * @param array $ old_instance Valeurs précédemment enregistrées de la base de données. * * @return array Valeurs de sécurité mises à jour à enregistrer. * / function update ($ 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'); return $ instance; 

    Les options de widget étaient stockées dans une variable de tableau appelée $ instance. La fonction de mise à jour prend deux paramètres, $ new_instance et $ old_instance. $ old_instance qui contient toutes les valeurs d'option déjà enregistrées auparavant, et $ new_instance qui contient toutes les valeurs d'option que nous venons de mettre à jour via le formulaire d'administration du widget.

    Cette fonction définit chaque ancienne valeur d'instance du tableau sur la valeur appropriée dans la nouvelle instance..

    Création d'une fonction de formulaire de widget

    La fonction de formulaire de widget est utilisée pour créer le formulaire de widget dans le tableau de bord afin de stocker ou de mettre à jour des variables de widget. Créer un formulaire de widget est très simple, il va générer un formulaire HTML avec un champ pour nos options.

     / ** * Formulaire de widget back-end. * * @see WP_Widget :: form () * * @param array $ instance Valeurs précédemment enregistrées de la base de données. * / formulaire de fonction ($ instance) $ title = esc_attr ($ instance ['title']); $ region = esc_attr ($ instance ['region']); $ expiration = esc_attr ($ instance ['expiration']); $ display = esc_attr ($ instance ['display']); ?> 

    Dans cette fonction, vous pouvez voir le $ instance paramètre qui permet à notre formulaire HTML de lire les options du widget enregistré.


    Assembler tout: le code complet

    Vous pouvez voir le code complet dans le plugin WP Twitter Trends dans le répertoire du plugin WordPress.org, ou le télécharger à partir du lien en haut de cet article..


    Conclusion

    Et ici nous avons développé avec succès un widget Twitter Twitter WP Trends! Vous pouvez télécharger le code source et modifier la disposition du widget frontal en ajoutant de nouveaux styles CSS. Vous pouvez également créer un widget à onglets pour séparer les dernières tendances et les hashtags. Maintenant, vous avez un widget de tendances sur votre site ou votre blog.

    .