Tutorial: Tutorial: Sumar actividad social en Wordpress

emeza Seguir

Épsilon
Programador
Desde
1 Dic 2010
Mensajes
920
Hola betas, queria compartir con ustedes un pequeño tutorial de como obtener la suma de toda la activdad social de nuestras publicaciones con wordpress.


Primero abrimos nuestro archivo functions.php donde agregaremos 3 funciones nuevas a nuestro theme.


Calula la cantidad de likes en facebook
PHP:
// esta funcion calculara la cantidad de Likes que recaudo nuestro post
function get_likes($url) {
  
    $json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
    $json = json_decode($json_string, true);
  
    return intval( $json[$url]['shares'] );
}


Calcula la cantidad de tweeds que le hicieron a nuestro post
PHP:
// Esta otra calculara nuestra actividad social en Twitter
function get_tweets($url) {
  
    $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
    $json = json_decode($json_string, true);
  
    return intval( $json['count'] );
}


Esto calculara cada +1 que obtuvieron nuestros post.
PHP:
// Aqui calcula cuantos +1 obtubo nuestro post
function get_plusones($url) {
  
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
    $curl_results = curl_exec ($curl);
    curl_close ($curl);
  
    $json = json_decode($curl_results, true);
  
    return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
}

peguen el código tal cual, recuerden que esto esta optimizado para Wordpress, pueden hacer muchas cosas mas pero por el momento con esto obtendremos la información necesaria para poder hacer una simple operación matemática que nos permitirá sumar la cantidad exacta de nuestra activad en estas 3 principales redes sociales, claro que puede hacer mucho mas con esto pero por el momento les mostrare solo a calcular el total de todo esto.

Ahora abrimos el archivo donde querramos mostrar el total de la actividad social de nuestro post, normalmente puenden hacerlo en el single, le hace un div dandole un poco de estilo para que les quede bonito.


PHP:
<?php echo (get_tweets(get_permalink())) + (get_plusones(get_permalink())) + (get_likes(get_permalink())); ?>


Con el código que les acabo de dejar podrán mostrar la suma de la actividad social en texto plano listo para darle estilo :) ya lo estoy incluyendo en varios de mis proyectos para mis themes quedara muy bien al final..

Saludos y cualquier duda solo pregunten esto para ayudarles en lo que pueda claro..
 
Última edición:

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.389
Tutorial aprobado, se agradece el aporte.
 

Dirtyboss

Préstamo
Zeta
Desde
29 Sep 2011
Mensajes
1.659
Hola compañero, suena interesante lo que has compartido. Sería mucho si te pidiera una imagen de cómo queda así tal cual.

Gracias
 

Henry Valdez

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
24 Mar 2012
Mensajes
366
Según el código que veo, el resultado sería simplemente un número con el total. Así que lo puedes poner donde quieras, ponerle el texto que quieras antes y después y darle el diseño que quieras. Ejemplo

PHP:
 Este post ha sido compartido <?php echo (get_tweets(get_permalink())) + (get_plusones(get_permalink())) + (get_likes(get_permalink())); ?> veces

Muchas gracias por el aporte amigo :D
 

lobogris

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
28 Dic 2012
Mensajes
243
Bueno eso de que está optimizado para Wordpress... no sé donde... porque lo único que tiene que ver con Wordpress es get_permalink();

En cuanto a Google+ utilizar curl es complicarse la vida ya que se puede hacer más simple y optimizado, o más bien, bajo la API de Wordpress:

PHP:
function get_gplus_shares($url) {

    $googleplus_params = array(
        'method'    => 'POST',
        'sslverify'   => false,
        'timeout'    => 30,
        'headers'   => array( 'Content-Type' => 'application/json' ),
        'body'        => '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]'
    );

    $googleplus_data = wp_remote_get( 'https://clients6.google.com/rpc', $googleplus_params );

    $googleplus_response = json_decode(wp_remote_retrieve_body($googleplus_data));

    $shares = $googleplus_response[0]['result']['metadata']['globalCounts']['count'];
	
    return intval($shares);
   
}

Saludos:encouragement:
 
Arriba