【问题标题】:feature image can not share on facebook in single.php特征图像无法在 single.php 中的 facebook 上共享
【发布时间】:2014-08-30 09:11:55
【问题描述】:

我想在我的 Facebook 帐户中分享帖子特色图片。 为此,我使用了 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 调试器工具,我在图像中收到一个警告,例如, “og:图像无法下载或太小” 因此,根据该警告,我添加了至少 200x200px 的大图像 但甚至无法获得正确的图像。

其他人认为我在 facebook 调试器中注意到了, 我可以在这部分看到“共享时,这就是将包含的内容”我可以很好地看到特征图像,但不是从我的页面。

我还注意到,特征图像已显示在我的调试器屏幕的以下部分中: “基于原始标签,我们在 og:image as 中构建了以下 Open Graph 属性”。

还要注意“这些是我们找到的原始标签”,找到的元标记为

或者您也可以直接从以下位置查看此信息, 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

【问题讨论】:

  • 不不,它不是任何'PDF'图像,它只是一个外观和名称,否则它是普通的jpg图像。
  • 不,它是 PDF 图像。我可以在您网站源代码的标题中清楚地看到它。 &lt;meta property="og:image" content="http://www.novelwall.org/dev/wp-content/uploads/2014/03/big_Novelwall_pdf_gray_design-300x300.jpg"/&gt;

标签: php facebook wordpress share


【解决方案1】:

在您网站的&lt;head&gt; 中,您将meta og:image 声明为“PDF”图像。

相反,您需要声明帖子的特色图片。

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

【讨论】:

  • 我刚刚从我的 function.php 中调用了一个函数,该函数动态声明 og:img 标记作为加载的帖子。并且不是PDF图片,就是那个样子,名字就是那个样子,否则就是普通的jpg图片。
  • 查看您网站的源代码。第 138 行。它引用了一个图像,该图像是“PDF”标志的缩略图。
  • 好吧,如果您认为它是 PDF 图像,现在我已将其替换为另一个。现在你能看看这个吗,拜托。这是新的元标记值,novelwall.org/dev/wp-content/uploads/2014/07/…>
  • 您需要 WordPress 根据帖子的特色图片动态设置 og:image 标签。我在答案中添加的链接向您展示了如何执行此操作。您将在 header.php 文件中完成此操作
【解决方案2】:

@德福计算机博士, 我已经在我的function.php和头文件中放置了需要realted标记的代码。但即使它也行不通。 我的代码 sn-p 就像在 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 元标记。

【讨论】:

  • 从标题中删除所有og:image引用并放入以下内容。&lt;?php $fb_image = wp_get_attachment_image_src(get_post_thumbnail_id( get_the_ID() ), 'thumbnail'); ?&gt; &lt;?php if ($fb_image) : ?&gt; &lt;meta property="og:image" content="&lt;?php echo $fb_image[0]; ?&gt;" /&gt; &lt;?php endif; ?&gt;
  • 我已经尝试过你所说的,但即使它也无法工作,并且在 facebook 共享弹出窗口中提供多个图像而不是一个特征图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-17
  • 2015-06-04
  • 2018-10-28
  • 1970-01-01
  • 2016-06-28
相关资源
最近更新 更多