¿Cómo puedo controlar la imagen del botón "Me gusta" de Facebook?

3 nov 2010, 22:13:46
Vistas: 62K
Votos: 13

Tengo un blog con algunas publicaciones, y cada publicación tiene un botón de "Me gusta" de Facebook integrado. Al presionar el botón se abre un diálogo para que mis visitantes puedan compartir la publicación en Facebook con un comentario.

Sin embargo, al compartir, la imagen seleccionada por Facebook es un ícono genérico de correo y no la miniatura de la publicación.

¿Cómo puedo controlar la imagen que se usa al compartir?

2
Comentarios

Ese sitio fue hackeado recientemente, al parecer...

MirroredFate MirroredFate
28 jul 2011 02:23:23

Apenas no es una pregunta sobre Wordpress...

Kaaviar Kaaviar
6 mar 2012 10:45:43
Todas las respuestas a la pregunta 8
0
11

Facebook ahora utiliza el protocolo opengraph. Puedes agregar imágenes usando:

<meta property="og:image" content="http://TU_URL_DE_IMAGEN" />

Añade esta línea al encabezado de tu página.

Alternativamente, puedes usar mi plugin para hacer esto automáticamente.

Solo realiza esta tarea y no se necesitan configuraciones.

http://shailan.com/wordpress/plugins/facebook-meta-tags-plugin/

19 mar 2011 11:40:28
1

La imagen que se utiliza para compartir se toma de un fragmento de código en el encabezado de tu sitio que se verá algo así:

<link rel="image_src" href="ruta/al/tema/screenshot.png" />

Normalmente enlaza a la captura de pantalla de tu sitio en el tema. Si eliminas el código del encabezado del archivo y en single.php lo colocas dentro del bucle (loop) y llamas a la imagen destacada de la entrada en el elemento href, creo que funcionaría. Entonces se vería algo como:

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

Esto significaría que si tienes botones de "Me gusta" en páginas que listan múltiples entradas, probablemente no tendrás una imagen. Si incluyes algún código condicional que lo elimine solo en single.php, entonces tendrías la imagen normal en cualquier página con múltiples entradas y un botón de "Me gusta", y la imagen destacada de la entrada cuando se esté usando la plantilla single.php. Entonces el código del encabezado sería:

<?php if ( is_single() ) { /* no hacer nada en páginas individuales */ } else { ?>
<link rel="image_src" href="ruta/al/tema/screenshot.png" />
<?php } ?>

Luego seguirías usando el código para incluir la imagen destacada en single.php.

4 nov 2010 17:04:33
Comentarios

Esto fue marcado como posiblemente desactualizado, por favor considera actualizar tu respuesta (tal vez algo como "esto era en ese entonces, ahora funciona mejor").

Rarst Rarst
15 oct 2011 00:17:35
0

Necesitas utilizar el Protocolo Open Graph de Facebook. No estoy seguro de por qué la respuesta aceptada no es una de las muchas respuestas relacionadas con OG: (a las cuales he votado positivamente), pero está equivocada.

http://developers.facebook.com/docs/opengraph/

Puedes personalizar muchas cosas incluyendo título, imagen, descripción, categoría, última actualización, etc... si usas Open Graph. Si utilizas estas otras soluciones a medias, te estás perdiendo el panorama completo.

Si no siguiera el Protocolo OG para todo el trabajo que hago en FB, me despedirían.

15 oct 2011 00:07:28
0

Si haces lo siguiente:

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

Descubrirás que WordPress muestra el HTML completo necesario para mostrar la imagen, no solo el SRC que es lo que realmente quieres.

Hacer algo como:

<?php

// Imagen destacada para el Me gusta de Facebook
$feature_image = get_the_post_thumbnail($post->ID);

// Obtener la fuente de la imagen
$doc = new DOMDocument();
$doc->loadHTML($feature_image);
$imageTags = $doc->getElementsByTagName('img');

foreach($imageTags as $tag) {
        $image_url = $tag->getAttribute('src');
    }
?>
<link rel="image_src" href="<?php echo $image_url; ?>" />

te da solo la URL. Probablemente es la forma larga y se podría acortar, pero definitivamente soluciona el problema.

Espero que esto te ponga en el camino correcto.

Matt.

19 mar 2011 01:36:37
0

Asegúrate de verificar tu URL aquí si la imagen especificada no aparece correctamente:

http://developers.facebook.com/tools/lint/

27 jul 2011 21:18:21
0

Si deseas utilizar la primera imagen de tu publicación como miniatura con una alternativa como tu logo, prueba mi plugin - http://wordpress.org/extend/plugins/facebook-like-thumbnail/ La explicación para agregar la imagen del logo como alternativa se encuentra en http://blog.ashfame.com/?p=888

19 mar 2011 09:57:54
0
<meta property="og:image" content="http://TU_URL_DE_IMAGEN" />

Este método funciona para los "me gusta", pero luego si quieres compartir un enlace en tu blog (por ejemplo), esta imagen se selecciona automáticamente.

Sin esta etiqueta meta, puedes seleccionar entre todas las imágenes del sitio enlazado.

¿Alguien conoce alguna forma de mantener la imagen estática para los "me gusta" pero que aún así permita elegir una imagen al compartir una URL?

16 ago 2011 17:18:08
2

OK, escribí un poco de JavaScript para poblar la meta etiqueta og:image con la imagen destacada de mi elección. Es un truco puntual que agregas a tu archivo de cabecera.

En mi publicación de WordPress, añado el ID "featured-image" (sé que en versiones más recientes de WordPress esto viene incorporado, estoy usando una versión antigua).

<xmp><img src="http://misitio.com/fotodegato.jpg" id="featured-image" /></xmp>

Escribo una meta etiqueta para og:image con una imagen de relleno, como el logo de mi blog. Agrego "id="meta-image" a la etiqueta, por ejemplo:

<meta property="og:image" src="http://misitio.com/logo.jpg" id="meta-image" />

Luego agrego este JavaScript en la cabecera:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"> </script>

<script type="text/javascript">
$(document).ready( function(){
    var featured_image = $("#featured-image").attr("src");
    $('meta[property="og:image"]').attr("content",featured_image);
});
6 mar 2012 09:35:25
Comentarios

Usa wp_enqueue_script() para cargar Javascript en WordPress.

fuxia fuxia
6 mar 2012 13:04:36

¿Realmente funciona esto? Ya intenté algo similar sin éxito - el depurador de Facebook no reconoce mi imagen. No creo que esté interpretando el JavaScript.

benedict_w benedict_w
12 ago 2013 19:32:09