J'aimerais partager un moyen simple d'avoir votre compteur d'abonnés Twitter ou votre compteur total de lecteurs Feedburner en utilisant un style personnalisé sur votre site Web WordPress. Vous pouvez voir quelques exemples sur la page Compteur personnalisé pour avoir une idée de l'apparence de ces compteurs. Assez avec l'introduction, permet de commencer.
La chose la plus importante est de savoir comment lire la valeur de Twitter et de Feedburner, commençons par Twitter. Vous pouvez obtenir des détails sur votre compte Twitter en visitant l'URL suivante: https://twitter.com/users/show/insérez votre nom d'utilisateur ici Par exemple, https://twitter.com/users/show/eizil, si vous cliquez sur l'URL, vous verrez une liste d'informations concernant mon compte Twitter au format XML..
Nous pouvons faire la même chose que Feedburner, vous pouvez également utiliser l’URL suivante pour obtenir vos données Feedburner: https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insérez votre nom d'utilisateur ici Par exemple, https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=eizil, si vous cliquez sur l'URL, vous verrez des informations concernant mon compte Feedburner..
Nous avons maintenant la source de nos informations. Ensuite, nous devons lire la valeur XML de notre site Web pour l’utiliser dans notre compteur personnalisé. Nous utiliserons fichier_get_contents
et le SimpleXMLElement
fonction pour lire la valeur sur Twitter ou Feedburner.
// lit les données Feedburner $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insert-your-username-here); $ xml = new SimpleXMLElement ($ data); // lire les données Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert-your-username-here'); $ xml = new SimpleXMLElement ($ data);
Maintenant, nous avons toutes les données dont nous avions besoin sur Twitter et Feedburner. Ensuite, nous devons lire la valeur du suiveur et du lecteur à partir de ces données..
$ total = $ xml-> feed-> entry ['circulation']; // Lire le nombre total depuis Feedburner $ total = $ xml-> followers_count; // Lire le nombre total d'abonnés sur Twitter
Et nous combinons ce code pour obtenir les totaux pour Twitter et Feedburner comme dans l'exemple ci-dessous.
// lit les données Feedburner $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insert-your-username-here); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> feed-> entry ['circulation']; // Lire le nombre total depuis Feedburner // lire les données Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert- your-username-here '); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Lire le nombre total d'abonnés de Twitter
Nous avons déjà notre valeur pour notre comptoir, ensuite nous appelons notre comptoir pour être plus beau. Nous allons utiliser la structure HTML suivante pour notre compteur.
Valeurvaleur
Pour le style 1 de la page du compteur personnalisé, nous utiliserons les CSS suivants:
.counter float: left; clarifier les deux; largeur: 100%; / * Compteur Feedburner * / #feedcount float: left; position: relative; #feedcount a width: 150px; hauteur: 38px; fond: url (images / subscribe.png); bloc de visualisation; #feedcount span position: absolute; en haut: 10 px; à droite: 15px; Couleur blanche; taille de police: 0,75em; poids de police: gras; / * compteur Twitter * / #twitcount float: left; position: relative; #twitcount un width: 150px; hauteur: 38px; fond: url (images / subscribe-twitter.png); display: block; #twitcount span position: absolute; en haut: 10 px; à droite: 12px; Couleur blanche; taille de police: 0,75em; poids de police: gras;
Maintenant, vous avez un compteur personnalisé à utiliser sur votre thème WordPress.
A ce stade, nous savons déjà comment lire la valeur et créer un compteur simple. Nous allons ensuite créer une nouvelle fonction dans notre fichier theme functions.php pour gérer cette requête. Nous allons également ajouter un fichier cache pour lire cette valeur, car nous ne voulons pas que le compteur tente de récupérer une nouvelle valeur chaque fois qu'un utilisateur visite notre site Web WordPress..
Commençons par créer une nouvelle fonction nommée getTwitFeedburnCount () comme dans l'exemple ci-dessous.
fonction getTwitFeedburnCount ()
Ensuite, nous allons ajouter deux variables à la fonction pour nous permettre de l'utiliser pour Twitter et Feedburner. Les deux variables que nous allons utiliser sont 1. nom d'utilisateur et 2. type de compte. Ces deux valeurs seront utilisées pour déterminer quel code sera utilisé pour récupérer la valeur et comme identifiant pour notre fichier cache.
fonction getTwitFeedburnCount ($ nom d'utilisateur, $ type)
Nous allons préparer le fichier de cache au début de la fonction. Nous allons d’abord essayer de voir s’il existe un fichier de cache à utiliser ou nous allons chercher une nouvelle valeur sur Twitter ou Feedburner..
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); fin si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); fin si; $ difference = strtotime (date ('Y-m-d H: i: s')) - $ cfile_time; if ($ difference> = 3600): // définit l'intervalle avant la mise à jour du cache en secondes // récupère le nouveau code de valeur va ici sinon: // lu à partir du fichier de cache endif;
Tout le cache sera stocké dans un système de fichiers temporaire afin d'éviter toute atteinte à la sécurité si nous utilisons un dossier dans notre thème ou dans l'installation de WordPress. Maintenant, nous pouvons ajouter le code qui traite réellement la lecture de Twitter et de Feedburner.
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); fin si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); fin si; $ difference = strtotime (date ('Y-m-d H: i: s')) - $ cfile_time; if ($ difference> = 3600): // définit l'intervalle avant la mise à jour du cache if ($ type == "feedburner"): $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0 /GetFeedData?uri=".$username); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> feed-> entry ['circulation']; // Lire le nombre total à partir de Feedburner elseif ($ type == "twitter"): $ data = fichier_get_contents ('http://twitter.com/users/show/'. $ Username); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Lire le nombre total d'abonnés sur Twitter endif; if (is_file ($ cfile) == true): unlink ($ cfile); fin si; touch ($ cfile); fichier_put_contents ($ cfile, strval ($ total)); retour strval ($ total); else: $ total = file_get_contents ($ cfile); retour strval ($ total); fin si;
Une chose que je dois vous rappeler, Feedburner réinitialise parfois la valeur si vous le récupérez en direct, et vous finissez par avoir zéro comme valeur pour votre lecteur. Une solution rapide pour cela serait de lire la valeur Feedburner d'il y a 4 jours. Ceci est facultatif, juste une solution si jamais vous rencontrez le problème comme je l’ai fait. Vous devez ajouter la date à votre fonction comme indiqué ci-dessous:
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ type. md5 ($ nom d'utilisateur); fin si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); fin si; $ difference = strtotime (date ('Y-m-d H: i: s')) - $ cfile_time; if ($ difference> = 3600): // définit l'intervalle avant la mise à jour du cache if ($ type == "feedburner"): $ date = date ('Y-m-d', strtotime ('- 4 jours')); $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=". $ username. "& dates =". $ date. ",". $ date); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> feed-> entry ['circulation']; // Lire le nombre total à partir de Feedburner elseif ($ type == "twitter"): $ data = fichier_get_contents ('http://twitter.com/users/show/'. $ Username); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Lire le nombre total d'abonnés sur Twitter endif; if (is_file ($ cfile) == true): unlink ($ cfile); fin si; touch ($ cfile); fichier_put_contents ($ cfile, strval ($ total)); retour strval ($ total); else: $ total = file_get_contents ($ cfile); retour strval ($ total); fin si;
Après avoir ajouté cette fonction à votre thème, vous êtes prêt à partir..
Maintenant, si vous voulez utiliser la fonction, veuillez utiliser le format suivant
echo getTwitFeedburnCount ("insérez votre nom d'utilisateur ici", "feedburner"); echo getTwitFeedburnCount ("insérez votre nom d'utilisateur ici", "twitter");
Vous pouvez mettre le code ensemble dans le code HTML comme dans l'exemple ci-dessous
À présent, vous devriez pouvoir utiliser cette fonction dans n’importe lequel de vos thèmes. Vous pouvez télécharger le fichier source pour examiner d’autres styles, comme indiqué dans la page Compteur personnalisé. Partagez votre compteur personnalisé avec moi, en particulier si vous créez un nouveau style pour votre thème..