Come posso controllare l'immagine del "Mi piace" di Facebook?

3 nov 2010, 22:13:46
Visualizzazioni: 62K
Voti: 13

Ho un blog con alcuni post e ogni post ha un pulsante Mi piace di Facebook incorporato. Premendo il pulsante si apre una finestra di dialogo che permette ai miei visitatori di condividere il post su Facebook con un commento.

Tuttavia, durante la condivisione, l'immagine selezionata da Facebook è un'icona generica di posta elettronica e non la miniatura del post.

Come posso controllare l'immagine che viene utilizzata durante la condivisione?

2
Commenti

Questo sito è stato recentemente hackerato, a quanto pare...

MirroredFate MirroredFate
28 lug 2011 02:23:23

Appena non è una domanda su Wordpress...

Kaaviar Kaaviar
6 mar 2012 10:45:43
Tutte le risposte alla domanda 8
0
11

Facebook ora utilizza il protocollo opengraph. Puoi aggiungere immagini usando:

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

Aggiungi questa riga nell'header della tua pagina.

In alternativa puoi utilizzare il mio plugin per farlo automaticamente.

Si occupa semplicemente di questo e non sono necessarie configurazioni.

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

19 mar 2011 11:40:28
1

L'immagine utilizzata per la condivisione è presa da un frammento di codice nell'header del tuo sito che avrà un aspetto simile a questo:

<link rel="image_src" href="path/to/theme/screenshot.png" />

Tipicamente punta allo screenshot del tuo tema. Se rimuovi il codice dall'header del file e in single.php lo inserisci all'interno del loop richiamando l'immagine in evidenza del post nell'elemento href, dovrebbe funzionare. Quindi avrà un aspetto simile a:

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

Questo significa che se hai pulsanti "mi piace" su pagine che elencano più post, probabilmente non avrai un'immagine. Se includi del codice condizionale che lo rimuove solo su single.php, allora avrai l'immagine normale su qualsiasi pagina con più post e un pulsante "mi piace", e l'immagine in evidenza del post quando viene utilizzato il template single.php. Quindi il codice nell'header sarebbe:

<?php if ( is_single() ) { /* non fare nulla sulle pagine singole */ } else { ?>
<link rel="image_src" href="path/to/theme/screenshot.png" />
<?php } ?>

Poi useresti comunque il codice per includere l'immagine in evidenza in single.php.

4 nov 2010 17:04:33
Commenti

Questo è stato segnalato come possibilmente obsoleto, considera di aggiornare la tua risposta (magari con qualcosa tipo "ai tempi funzionava così, ora funziona meglio").

Rarst Rarst
15 ott 2011 00:17:35
0

Devi utilizzare il protocollo Open Graph di Facebook. Non sono sicuro del perché la risposta accettata non sia una delle tante relative a OG: (alle quali ho dato il mio voto positivo) ma è sbagliata.

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

Puoi personalizzare molte cose tra cui titolo, immagine, descrizione, categoria, ultimo aggiornamento ecc... se utilizzi Open Graph. Se usi queste altre soluzioni parziali, ti stai perdendo il quadro completo.

Se non seguissi il protocollo OG per tutto il lavoro che faccio su FB, verrei licenziato.

15 ott 2011 00:07:28
0

Se fai quanto segue:

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

Scoprirai che WordPress restituisce il codice HTML necessario per visualizzare l'immagine, non solo l'attributo SRC che è quello che realmente desideri.

Facendo qualcosa come:

<?php

// Immagine in evidenza per FB Like
$feature_image = get_the_post_thumbnail($post->ID);

// Ottieni l'URL dell'immagine
$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; ?>" />

otterrai solo l'URL. Probabilmente è il metodo più lungo e potrebbe essere abbreviato, ma sicuramente risolve il problema.

Spero che questo ti indirizzi nella giusta direzione.

Matt.

19 mar 2011 01:36:37
0

Assicurati di verificare il tuo URL qui se l'immagine specificata non viene visualizzata correttamente:

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

27 lug 2011 21:18:21
0

Se desideri utilizzare la prima immagine del tuo articolo come miniatura con un'alternativa come il tuo logo, prova il mio plugin - http://wordpress.org/extend/plugins/facebook-like-thumbnail/ La spiegazione per aggiungere l'immagine del logo come alternativa si trova su http://blog.ashfame.com/?p=888

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

Questo metodo funziona per i "mi piace" ma successivamente, se vuoi condividere un link nel tuo log (ad esempio), questa immagine viene selezionata automaticamente.

Senza questo meta tag puoi selezionare tra tutte le immagini presenti sul sito linkato.

Qualcuno conosce un modo per mantenere l'immagine statica per i "mi piace" ma ancora permettere di scegliere un'immagine quando si condivide un URL?

16 ago 2011 17:18:08
2

OK ho scritto un po' di javascript per popolare il Meta og:image con l'immagine in evidenza di mia scelta. È un hack temporaneo che puoi aggiungere al tuo file header.

Nel mio post wordpress, aggiungo l'id "featured-image" (so che con le versioni più recenti di wordpress questa funzionalità è integrata, ma io uso una versione vecchia).

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

Scrivo un meta tag per l'og:image con un placeholder, come il logo del mio blog. Aggiungo "id="meta-image" al tag, ad esempio:

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

Poi aggiungo questo javascript nell'header:

<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
Commenti

Usa wp_enqueue_script() per caricare JavaScript in WordPress.

fuxia fuxia
6 mar 2012 13:04:36

Funziona davvero? Ho già provato qualcosa di simile senza successo - il debugger di Facebook non riconosce la mia immagine. Non credo che stia analizzando il JavaScript.

benedict_w benedict_w
12 ago 2013 19:32:09