web-dev-qa-db-ja.com

FacebookプレビューOpen Graph Object Debugger

自分のウェブサイトをFacebookに公開しようとすると、おすすめの画像にエラーがあります。

私は facebook debug を使おうとしていますが、興味のある情報はありません。

私はこの機能を使用しますが、何も解決しません:

//* 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 );

だから私はどのように私は特定の画像を設定することができますかわからない。ありがとう

1
skifast

これを試してください:あなたのfunctions.phpにこれを入れて

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);
}

<head>タグと</head>タグの間のheader.phpにこれを置きます。

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