¿Quieres obtener el recuento de suscriptores de Feedburner usando funciones? Si bien probablemente haya un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para obtener el recuento de Feedburner usando las funciones get_transient y wp_remote_get.
Instrucciones:
Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:
function feed_subscribers(){
$feed_url = 'http://feeds.feedburner.com/yourname';
$count = get_transient('feed_count');
if ($count != false) return $count;
$count = 0;
$data = wp_remote_get('http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$feed_url.'');
if (is_wp_error($data)) {
return 'error';
}else{
$body = wp_remote_retrieve_body($data);
$xml = new SimpleXMLElement($body);
$status = $xml->attributes();
if ($status == 'ok') {
$count = $xml->feed->entry->attributes()->circulation;
} else {
$count = 300; // fallback number
}
}
set_transient('feed_count', $count, 60*60*24); // 24 hour cache
echo $count;
}
Agrega este fragmento de código al archivo de tu tema de WordPress donde deseas mostrar el recuento de suscriptores del feed RSS.
<? feed_subscribers(); ?>
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Los 7 mejores plugins de páginas de destino de WordPress que convierten y 25 plugins de WordPress imprescindibles para sitios web de negocios.
Estoy recibiendo este error “SimpleXMLElement::__construct() [simplexmlelement.–construct]: Entity: line 2: parser error : AttValue: ”
Funcionaba bien, pero recientemente está arrojando estos errores. ¿Alguna idea?
¡Gracias!
debería agregarse echo al segundo fragmento 🙂
solo agrega el segundo fragmento en la ubicación donde deseas mostrar el recuento del feed.
Creo que el segundo debería ser como En ese estado, el fragmento no muestra nada. Bueno, en el estado correcto, el fragmento cuenta mucho más de lo normal.