当我尝试将我的某个网站中的博客内容分享到facebook时出现错误的内容和图像。但是在sharer.php页面上弹出了正确的内容。但Facebook上分享的内容是错误的。它与博客页面共享一些其他内容和图像。我添加了
<meta property="og:title" content="<?php echo $usethistitle; ?>" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://taralizhealthystepsforward.com/blog.php?blogid=<?php echo $blogid; ?>" />
<meta property="og:image" content="http://taralizhealthystepsforward.com/pdt_images/<?php echo $imges; ?>" />
<meta property="og:site_name" content="Taraliz" />
<meta property="og:app_id" content="563087643750661" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="image_src" href="http://taralizhealthystepsforward.com/pdt_images/<?php echo $imges; ?>" />
<script>window.location='https://www.facebook.com/sharer/sharer.php?s=100&p[url]=http://taralizhealthystepsforward.com/blog.php?blogid=<?php echo $blogid; ?>&p[images][0]=http://taralizhealthystepsforward.com/pdt_images/<?php echo $imges; ?>&p[title]=<?php echo $usethistitle; ?>&p[summary]=<?php echo $usethisdesc; ?>';</script>
答案 0 :(得分:2)
Sharer使用URL中的参数显示在窗口中,但是当内容被共享时,它将转到指定的链接。
由于您的帖子位于同一HTML页面上,因此页面使用一个相同的opengraph数据,即带有<meta>
属性的og
个标记。
您可以做的是为facebook共享创建一个端点,其中只会获取元数据信息。比如,meta.php?id=[:id]
将为每个帖子提供Facebook信息,并通知它重定向到正确的页面并滚动,可能带#和标识符。
我不认为你可以使用不同的属性来使用sharer.php文件在一个页面上显示facebook,但是如果我发现任何值得考虑的内容,我会研究并更新我的答案。
<强>更新强>
如果不编写其他代码,我认为您无法解决问题。以下是Multiple Facebook opengraph objects on the same page
提出的问题该答案提出了一个比我更好的解决方案,而不是创建像meta.php
这样的新端点文件,您可以在用于显示博客内容的同一文件中执行此操作。这是通过检查用户代理来完成的,如果与Facebook相关,您将显示特定的元标记。
摘自Simon Cross $_SERVER["HTTP_USER_AGENT"] != "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"