web-dev-qa-db-fra.com

Facebook preview Ouvrir le débogueur d'objets graphiques

si j'essaye de publier mon site sur Facebook, j'ai une erreur avec l'image sélectionnée.

J'essaie d'utiliser le débogage de Facebook mais je n'ai aucune information d'intérêt.

J'utilise cette fonction mais rien ne résout:

//* FACEBOOK *//

function insert_fb_in_head() {
    global $post;
    if ( !is_singular()) // Se non è un post o una pagina
        return;

        $mytext=$post->post_excerpt;
        $myfulltext=strip_tags($post->post_content);
        if(strlen($mytext) > 250) $mytext = substr($mytext, 0, 250).'...';
        if(strlen($myfulltext) > 250) $myfulltext = substr($myfulltext, 0, 250).'...';
        if(empty($post->post_excerpt)) {
        $mytext=$myfulltext;
        }

        $mydesc=$mytext;
    $external_posts=$post->ID;

        echo '<meta property="fb:admins" content="IDPAGE" />';
        echo "\n";
        echo '<meta property="og:title" content="' . get_the_title() . '" />';
        echo "\n";
        echo '<meta property="og:type" content="article" />';
        echo "\n";
        echo '<meta property="og:description" content="' . $mydesc . '" />';
        echo "\n";
        echo '<meta property="og:url" content="' . get_permalink() . '" />';
        echo "\n";
        echo '<meta property="og:site_name" content="TITLE WEBSITE" />';
        echo "\n";
        echo '<meta property="og:locale" content="it_IT" />';
        echo "\n";

        $myurl = wp_get_attachment_image_src( get_post_thumbnail_id($external_posts), 'thumbnail' );
        $postimage=$myurl[0];

        if(empty($postimage)) {
        $default_image="URLIMAGE";
        echo '<meta property="og:image" content="' . $default_image . '" />';
        }
        else {
        $default_image=$postimage;
        echo '<meta property="og:image" content="' . $default_image . '" />';
        }
        echo "\n"; echo "\n";

}

add_action( 'wp_head', 'insert_fb_in_head', 1 );

Donc, je ne sais pas comment puis-je faire pour définir une image spécifique. Merci

1
skifast

Essayez ceci: dans votre functions.php, mettez ceci

function fb_excerpt($text, $excerpt) {
    if ($excerpt) return $excerpt;

    $raw_excerpt = $text;

    $text = strip_shortcodes( $text );

    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]&gt;', $text);
    $text = strip_tags($text);
    $excerpt_length = apply_filters('excerpt_length', 55);
    $words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
    if (count($words) > $excerpt_length) {
            array_pop($words);
            $text = implode(' ', $words);
            $text = $text . '...';
    } else { $text = implode(' ', $words); }

    return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}

et dans votre header.php entre vous <head> et </head> tags mettez ceci

<?php global $post;
if (is_singular()) { ?>
    <meta property="fb:admins" content="522774907844630">
    <meta property="og:title" content="<?php the_title(); ?>">
    <meta property="og:description" content="<?php echo fb_excerpt($post->post_content, get_the_excerpt()); ?>">
    <meta property="og:type" content="article">
    <meta property="og:image" content="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>">
    <meta property="og:site_name" content="<?php bloginfo('name'); ?>">
    <meta property="og:url" content="<?php echo('http://'.$_SERVER['HTTP_Host'].$_SERVER['REQUEST_URI']); ?>">
<?php } ?>
0
jimihenrik