Automatizar atualização diária de contadores de redes sociais

  • Autor Autor Nehemoth
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
N

Nehemoth

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Me gustaría implementar un contador de likes de los botones sociales de facebook, twitter y g+ pero es ingente la cantidad de tiempo que éstos tardan en recopilar los datos... alguno sabe como hacer un cron que inserte en una tabla algo así como

[table="width: 500"]
[tr]
[td]ID[/td] [td]URL[/td][td]FBCOUNTS[/td][td]TWITCOUNTS[/td][td]GPLUSCOUNTS[/td]
[/tr]
[/table]

Y que se actualice a diario?

Saludos!!!
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
En teoría, si tienes los contadores sociales extrayéndose por PHP y tienes un buen pluggin de CACHÉ tu web no hará consulta a las APIs de Facebook, Twitter ni Google cada vez que se imprima la pantalla.

Te lo digo porque sería poco práctico, en especial para las publicaciones nuevas, que estas sólo se actualicen una vez al día. Y porque hacer lo que dices implica más procesamiento de lo que parece.


De todas formas, para hacer lo que quieres hacer solo necesitas:

  • Un feed o su equivalente (puedes usar el site map para extraer las urls que ya no salgan en el feed), donde puedas extraer todas las urls (Puedes hacerlo desde la base de datos de wordpress, pero es algo complicado y si no tienes mucha experiencia es mejor no tocarla).
  • Luego necesitas un script que se ejecute varias veces al día con un Foreach a tu Feed, que por cada url, compruebe si esta ya aparece en la base de datos, si no aparece, que la agregue.
  • Luego el script que se ejecutará diario haciendo un foreach a los links, y por cada link en la base de datos compruebe con las APIs de las redes sociales, cuanta actividad han tenido, las guarde en variables y luego haga un UPDATE en la tabla WHERE url=$url actualizando los campos por los valores de las variables.

Si tienes dudas con la creaci'on de los Cron Jobs te dejo un tutorial
¿Cómo configurar un Cron Job básico en cPanel? – nuthost.info | Centro de Información
 
Pero, corrígeme si me equivoco, yo todos los plugins que he visto de iconos sociales con contadores preguntan a las respectivas apis por cada uno de los post por la misma razón que me das de que una vez al día es poco... si hasta el like-box-for-pages de facebook se recarga cada vez que se actualiza la página :s

(5 post por página + widget de texto de síguenos)*3 plataformas...

Yo he optado por el momento a insertar ésto en mi tema:
Inserir CODE, HTML ou PHP:
<span id="facebook"><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=<?php the_permalink(); ?>">
<img src="" alt="facebook-ico">
</a></span>
<span id="twitter"><a target="_blank" href="https://twitter.com/intent/tweet?text=<?php echo get_the_title(); ?>&url=<?php the_permalink(); ?>">
<img src="" alt="social-ico-twt">
</a></span>
<span id="google-plus"><a target="_blank" href="https://plus.google.com/share?url=<?php the_permalink(); ?>">
<img src="" alt="google-ico">
</a></span>

Y esto para el widget follow us
siguenos.webp

Pero realmente me gustaría mostrar los contadores sin que suponga una gran pérdida de velocidad de carga

Saludos!!!
 
Sí algo así, crear los botones sin java y aparte meterle el contador desde la base de datos

Saludos!!!
 
Yo lo hice así

PHP:
<a href='https://www.facebook.com/sharer/sharer.php?u=<?php the_permalink();?>' target="_blank"> <button class='social fb'> Compartir 
<?php 
$var = json_decode(file_get_contents('http://graph.facebook.com/?id='.get_permalink())); echo '<span>' . $var->shares . '</span>';?>
</button></a>
                   <a href='https://twitter.com/home?status=<?php urlencode(the_title());?> <?php the_permalink();?>' target="_blank"> <button class='social tw'> Twitear

<?php 
$var = json_decode(file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.get_permalink()));
echo '<span>' . $var->count . '</span>';

?>
</button></a>
                   <a href='https://plus.google.com/share?url=<?php the_permalink();?>' target="_blank"> <button class='social gp'> Compartir

</button></a>

Luego le dí forma con CSS a los numeros

HTML:
button span {
background: #cc0001;
border-radius: 3px;
color: #fff;
z-index: 999999;
font-weight: 600;
padding: 2px 6px;
box-shadow: 0 2px 3px rgba(0,0,0,.2), inset 0 2px 5px rgba(225,225,225,.3);
font-size: 13px;
margin-left: 5px;
position: relative;
display: inline-block;
top: -20px;
}

Todavía no he conseguido la url de la api para G+
 
Gracias! eres un crack! funciona muy bien, con ese código se pueden personalizar al gusto los botones

Respecto a rendimiento ¿cuáles crees que van mejor entonces? ¿los por defecto de cada api, ShareThis o así en "custom"?

Saludos!!!
 
Voltar
Topo