Comentarios de Facebook en WordPress

En esta entrada les voy a mostrar como he resuelto el tema de implementar los comentarios de Facebook en un blog WordPress.
Hay varias cosas a considerar para esta implementación, pero tratare de mantenerlo lo mas simple posible.
Lo primero que vamos a necesitar es cargar el framework de Facebook en nuestra plantilla, siguiendo las recomendaciones de Facebook justo después del cierra de la etiqueta “<body>”
En este script van a tener que reemplazar las xxxxxxx del appID con su numero appID, aquí les dejo un enlace para conseguirlo si aun no lo tienen.
<!-- facebook commenst --></pre>
<div id="fb-root"></div>
<pre><script type="text/javascript">// <![CDATA[
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId=xxxxxxxxxxx"; fjs.parentNode.insertBefore(js, fjs); } (document, 'script', 'facebook-jssdk'));
// ]]></script>
En la parte de nuestra plantilla que se maquetan los comentarios deberíamos insertar esta linea, que es la encargada de renderizar el cuadro de comentario de Facebook, todos los parámetros se puede modificar, excepto el “data-href” que no es ni mas ni menos que la url de la entrada.
Con esto ya esta funcionando el sistema de comentarios de Facebook.
<!-- Facebook Comments --></pre> <div class="fb-comments" data-href="<?php echo get_permalink(); ?>" data-num-posts="20" data-width="560"></div> <pre>
Como nota, les cuento que si en la misma pagina utilizan otros servios de Facebook, estos puede colisionar entre si, lo que hay que hacer en ese casi es actualizar el código de los componentes, en esta pagina podrán encontrar todos los agregados y obtener los códigos de inserción actualizados.
Lo primero que notaran es que los comentarios que hace la gente mediante su flamante caja de Facebook, no aparecen en la cuenta de comentarios, para esto hay una solución que es la siguiente.
Este fragmento de código lo que hace es consultar a Facebook la cantidad de comentarios de la entrada actual, y luego lo suma a los comentarios normales de la entrada. Preferiblemente este código iría ubicado el el archivo “funcions.php” del template.
// Get combined FB and WordPress comment count
function full_comment_count($simple = false) {
$source_url = get_permalink($post->ID);
$data = file_get_contents('http://graph.facebook.com/?id='. urlencode($source_url));
$json = $data;
$obj = json_decode($json);
$fbcommentcount = $obj->{'comments'};
$commentotal = $fbcommentcount + get_comments_number();
$final_str = "";
if($simple){
return commentotal;
}else {
if ( $commentotal == 0 ) {
$final_str = 'Sin Comentarios';
}
else if ( $commentotal == 1 ) {
$final_str = '1 Comentario';
}
else {
$final_str = $commentotal . ' Comentarios';
}
return $final_str;
}
}
Y como ultimo, ya verán que Facebook, mantiene sus comentarios en un iframe, cosa que lo hace inaccesible a los buscadores y es malo para nuestro sitio. La solución que he encontrado a esto es, mediante un plugin importar todos los comentarios que la gente hace mediante Facebook a comentarios normales de WordPress, de esta manera consigo que dichos comentarios queden registrados y puedan ser indexados por los buscadores.
Espero que les sirva este tutorial y empiecen a utilizar los comentarios de Facebook, ya verán que su blog se torna más social frendly con ese aditamento.



