Me gustaría compartir una forma sencilla de tener un contador de seguidores en Twitter o un contador de lector total de Feedburner utilizando un estilo personalizado en su sitio web de WordPress. Puede ver algunos ejemplos en la página del contador personalizado para tener una idea de cómo se pueden ver estos contadores. Basta con la introducción, vamos a empezar.
Lo más importante es cómo podemos leer el valor de Twitter y Feedburner, primero comencemos con Twitter. Puede obtener detalles de su cuenta de Twitter visitando la siguiente URL: https://twitter.com/users/show/inserte su nombre de usuario aquí Por ejemplo, https://twitter.com/users/show/eizil, si hace clic en la URL, verá una lista de información sobre mi cuenta de Twitter en formato XML.
También podemos hacer algo similar a Feedburner, puede usar la siguiente URL para obtener sus datos de Feedburner: https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=inserte su nombre de usuario aquí Por ejemplo, https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=eizil, si hace clic en la URL, verá información sobre mi cuenta de Feedburner..
Así que ahora tenemos la fuente de nuestra información, luego debemos leer el valor XML de nuestro sitio web para utilizarlo en nuestro contador personalizado. Usaremos file_get_contents
y el SimpleXMLElement
Función para leer el valor de Twitter o Feedburner..
// leer los datos de Feedburner $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insert-your-username-here); $ xml = new SimpleXMLElement ($ data); // lea los datos de Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert-your-username-here'); $ xml = new SimpleXMLElement ($ data);
Ahora que tenemos todos los datos que necesitábamos de Twitter y Feedburner, a continuación, debemos leer el valor del seguidor y el lector de estos datos.
$ total = $ xml-> feed-> entrada ['circulación']; // Lee el recuento total de Feedburner $ total = $ xml-> followers_count; // Leer el número total de seguidores de Twitter
Y combinamos este código para obtener los totales de Twitter y Feedburner como en el siguiente ejemplo..
// leer los datos de 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-> entrada ['circulación']; // Lea el recuento total de Feedburner // lea los datos de Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert- your-username-here '); $ xml = new SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Leer el recuento total de seguidores de Twitter
Ya tenemos nuestro valor para nuestro contador, a continuación, diseñaremos nuestro contador para que sea mejor. Utilizaremos la siguiente estructura HTML para nuestro contador..
Valorvalor
Para el Estilo 1 en la página de contador personalizado, usaremos el siguiente CSS:
.contador flotador: izquierda; Limpia los dos; ancho: 100%; / * Feedburner counter * / #feedcount float: left; position: relative; #feedcount a width: 150px; altura: 38px; fondo: url (images / subscribe.png); bloqueo de pantalla; #feedcount span position: absolute; superior: 10px; derecha: 15px; color blanco; tamaño de fuente: 0.75em; font-weight: negrita; / * Contador de Twitter * / #twitcount float: left; position: relative; #twitcount a width: 150px; altura: 38px; fondo: url (images / subscribe-twitter.png); display: block; #twitcount span position: absolute; superior: 10px; derecha: 12px; color blanco; tamaño de fuente: 0.75em; font-weight: negrita;
Ahora tienes un contador personalizado para usar en tu tema de WordPress.
En esta etapa, ya sabemos cómo leer el valor y cómo hacer un contador simple, a continuación, crearemos una nueva función en nuestro archivo de funciones de tema.php para manejar esta solicitud. También agregaremos un archivo de caché para leer este valor, ya que no queremos que el contador intente obtener un nuevo valor cada vez que un usuario visita nuestro sitio web de WordPress.
Comencemos con la creación de una nueva función llamada getTwitFeedburnCount () como en el siguiente ejemplo.
función getTwitFeedburnCount ()
A continuación, agregaremos dos variables a la función para permitirnos usar esto para Twitter y Feedburner, las dos variables que vamos a usar serían 1. nombre de usuario y 2. tipo de cuenta. Estos dos valores se utilizarán para determinar qué código se usará para obtener el valor, y como un identificador para nuestro archivo de caché.
function getTwitFeedburnCount ($ username, $ type)
Prepararemos el archivo de caché al principio de la función, primero trataremos de ver si hay un archivo de caché disponible para usar o de lo contrario, buscaremos un nuevo valor en Twitter o Feedburner..
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); terminara si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); terminara si; $ Difference = strtotime (fecha ('Y-m-d H: i: s')) - $ cfile_time; if ($ diferencia> = 3600): // establezca el intervalo antes de actualizar la memoria caché en segundos // buscar el nuevo código de valor aquí.
Toda la memoria caché se almacenará en un sistema de archivos temporal, esto es para evitar cualquier brecha de seguridad si vamos a usar una carpeta dentro de nuestro tema o instalación de WordPress. Ahora podemos agregar el código que realmente procesa la lectura de Twitter y Feedburner.
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); terminara si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); terminara si; $ Difference = strtotime (fecha ('Y-m-d H: i: s')) - $ cfile_time; if ($ Difference> = 3600): // establece el intervalo antes de actualizar el caché if ($ type == "feedburner"): $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0 /GetFeedData?uri=".$username); $ xml = nuevo SimpleXMLElement ($ data); $ total = $ xml-> feed-> entrada ['circulación']; // Lea el recuento total de Feedburner elseif ($ type == "twitter"): $ data = file_get_contents ('http://twitter.com/users/show/'. $ Username); $ xml = nuevo SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Leer el recuento total de seguidores de Twitter endif; if (is_file ($ cfile) == true): unlink ($ cfile); terminara si; toque ($ cfile); file_put_contents ($ cfile, strval ($ total)); return strval ($ total); else: $ total = file_get_contents ($ cfile); return strval ($ total); terminara si;
Una cosa que necesito recordarte, Feedburner a veces restablece el valor si lo recuperas y terminas teniendo cero como valor para tu lector. Una solución rápida para esto sería leer el valor de Feedburner de hace 4 días. Esto es opcional, solo una solución si alguna vez encuentra el problema como lo hice yo. Debe agregar la fecha a su función como se muestra a continuación:
function getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); elseif ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tipo. md5 ($ nombre de usuario); terminara si; if (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); else: $ cfile_time = filemtime ($ cfile); terminara si; $ Difference = strtotime (fecha ('Y-m-d H: i: s')) - $ cfile_time; if ($ Difference> = 3600): // establece el intervalo antes de actualizar el caché if ($ type == "feedburner"): $ date = date ('Y-m-d', strtotime ('- 4 days')); $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=". $ username. "& dates =". $ date. ",". $ date); $ xml = nuevo SimpleXMLElement ($ data); $ total = $ xml-> feed-> entrada ['circulación']; // Lea el recuento total de Feedburner elseif ($ type == "twitter"): $ data = file_get_contents ('http://twitter.com/users/show/'. $ Username); $ xml = nuevo SimpleXMLElement ($ data); $ total = $ xml-> followers_count; // Leer el recuento total de seguidores de Twitter endif; if (is_file ($ cfile) == true): unlink ($ cfile); terminara si; toque ($ cfile); file_put_contents ($ cfile, strval ($ total)); return strval ($ total); else: $ total = file_get_contents ($ cfile); return strval ($ total); terminara si;
Una vez que termine de agregar esta función a su tema, estará listo para comenzar.
Ahora, si desea utilizar la función, utilice el siguiente formato
echo getTwitFeedburnCount ("inserta tu nombre de usuario-aquí", "feedburner"); echo getTwitFeedburnCount ("inserta tu nombre de usuario-aquí", "twitter");
Puede poner el código en el HTML como se muestra en el ejemplo a continuación.
En este momento ya debería poder usar esta función en cualquiera de sus temas, puede descargar el archivo fuente para ver otros estilos como se ve en la página del contador personalizado. Comparta conmigo su contador personalizado, especialmente si crea un nuevo estilo para su tema.