• Super User

    Problema anteprima facebook

    Sto cercando di far in modo che nella condivisione di un link, facebook prenda come anteprima la prima immagine del post ma il codice per farlo che in passato ho usato senza problemi, non funziona dato che ho provato a condividere un post su facebook come link e mi faceva ancora scegliere tra le immagini:

    function set_default_image(){
    global $post;
    $image = str_img_src($post->post_content);
    if($image != ""){
    echo '<link rel="image_src" href="'. $image . '" />' . "\n";
    }
    }
    add_action('wp_head', 'set_default_image');

    function str_img_src($html) {
    if (strpos($html, '<img') !== false) {
    $imgsrc_regex = '#<\simg [^>]src\s=\s(["'])(.*?)\1#im';
    preg_match($imgsrc_regex, $html, $matches);
    unset($imgsrc_regex);
    unset($html);
    if (is_array($matches) && !empty($matches)) {
    return $matches[2];
    } else {
    return false;
    }
    } else {
    return false;
    }
    }

    Forse non va più bene con questa versione di WP?


  • User Attivo

    Nemmeno a me lo fà con wordpress 3.2.1 mi prende solo l'immagine del logo. Sarei curioso anch' io di sapere una soluzione.


  • Super User

    Per ora ho risolto con il plugin Simple Facebook Connect, che è davvero ottimo e completo, anche se avrei preferito usare qualche riga di codice....


  • User Attivo

    Scusa, ma se inserisci il <link rel="image_src" con un immagine a caso, e togli il plugin, ti funziona? Fai una prova... se non ti funziona così, magari hai utilizzato altri meta come l'opengraph protocol in cui dici già che immagine prendere.... oppure lo schema.org che utilizza Google+ ...
    Io ho usato per un sacco di tempo quel codice di sopra (o simile) e mi ha sempre funzionato... ora uso Facebook opengraph protocol meta