功能图像无法在facebook.php上分享

时间:2014-08-30 09:11:56

标签: php facebook wordpress share

我想在我的脸书帐户中分享帖子功能图片。 为此,我使用了facebook分享按钮代码。 它可以在我的一个模板页面上正常工作,但由于我在single.php中使用了这个代码,它无法工作,我无法确定原因。 我使用了single.php文件中的代码,如:

//header
<div id="fb-root"></div>
<script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=196109523902137&version=v2.0";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

//to get feature image url
$url = wp_get_attachment_url( get_post_thumbnail_id($_GET['id']) );
$share_url  =  get_permalink(get_the_ID());
<a id="ref_fb"  href="http://www.facebook.com/sharer.php?s=
100&p[title]=<?php echo $title;?>&p[summary]=<?php echo $description;?
>&p[url]=<?php echo urlencode($share_url);?>&`p[images][0]=<?php $url;?>"
 onclick="javascript:window.open(this.href, '', ``'menubar=no,toolbar=no,resizable=no
,scrollbars=no,height=400,width=600');return false;">`
<img src="<?php bloginfo('template_url')?>/_images/fb.png" alt=""/></a>

我使用facebook debuger工具,我在图像中得到一个警告,如, &#34; og:图片无法下载或太小&#34; 因此,根据该警告,我添加了至少200x200px的大图像 但即使无法获得正确的图像。

其他人认为我在facebook debuger中注意到了 我可以看到&#34;当共享时,这将是包含的内容&#34;在这一部分,我可以很好地看到特征图像,但不能从我的页面看到。

我还注意到我的debuger屏幕的下面部分显示了特征图像: &#34;基于原始标签,我们构建了以下Open Graph属性&#34; in og:image as。

另请注意&#34;这些是我们找到的原始标签&#34;找到的元标记为

或者您也可以直接看到这些信息, https://developers.facebook.com/tools/debug/og/object/ 填写网址,如:http://www.novelwall.org/dev/bussiness-opportunities-client-success-post1/?id=1001&&tabName=content-1&&page=solu

2 个答案:

答案 0 :(得分:0)

在您网站的<head>中,您宣布meta og:image为“PDF”图片。

相反,您需要声明帖子的精选图片。

这是一个很好的起点:Featured Image og:image

答案 1 :(得分:0)

@Telford Computer-DoctorL, 我已经把我需要实现的代码放在我的function.php和头文件中。但即使它无法奏效。 我的代码片段就像在function.php中一样:

function insert_image_src_rel_in_head()
{
    global $post;
    if ( !is_singular()) //if it is not a post or a page
    return;

    if(!has_post_thumbnail( $post->ID ))
    {
            //the post does not have featured image, use a default image
            $default_image="http://example.com/image.jpg"; //replace this with a default image on your server or an image in your media library
            echo '<meta property="og:image" content="' . $default_image . '"/>';
    }
    else
    {
            $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
            echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
    }
    echo "";
}

add_action( 'wp_head', 'insert_image_src_rel_in_head', 5 );

因此我们在标题中看到了og:image元标记。