Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook的“喜欢/推荐”按钮未显示“喜欢”或“图片”的正确链接_Php_Html_Facebook_Facebook Like - Fatal编程技术网

Php Facebook的“喜欢/推荐”按钮未显示“喜欢”或“图片”的正确链接

Php Facebook的“喜欢/推荐”按钮未显示“喜欢”或“图片”的正确链接,php,html,facebook,facebook-like,Php,Html,Facebook,Facebook Like,我在网站上的产品列表页面中添加了类似Facebook的代码HTML5选项。但是,当用户喜欢某个产品时,它会显示在用户时间线上,因为他们喜欢主页而不是产品页面,并且还会从主页中随机选择一个图像,而不是从产品页面中选择产品图像 根据Facebook的指示,我在我的产品列表页面的body标签下有以下代码: <div id="fb-root"></div> <script> (function(d, s, id) { var js, fjs = d.getElem

我在网站上的产品列表页面中添加了类似Facebook的代码HTML5选项。但是,当用户喜欢某个产品时,它会显示在用户时间线上,因为他们喜欢主页而不是产品页面,并且还会从主页中随机选择一个图像,而不是从产品页面中选择产品图像

根据Facebook的指示,我在我的产品列表页面的body标签下有以下代码:

<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/all.js#xfbml=1&appId=122370783453655";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
我在页面上列出的每个产品下面都重复了这个代码。变量$productURL将是每个产品的唯一URL

<div class="fb-like" style="margin-right:auto;margin-left:auto" data-href="'. $productURL . '" data-send="false" data-layout="button_count" data-width="50" data-show-faces="false" data-action="recommend"></div>
我还向$productUrl页面添加了以下代码:

<meta property="og:image" content="<?=$image?>" />
<meta property="og:image:secure_url" content="<?=$simage?>" />
<meta property="og:title" content="<?=$title?>" />
<meta property="og:description" content="<?=$desc?>" />
<meta property="og:url" content="<?=$url?>"/>
<meta property="og:site_name" content="<?=$sitename?>"/>
<meta property="og:type" content="Website"/>

$productURL页面应包含

og:url必须是您的产品url。Facebook使用此url在对象上发布更新。。 转到你的应用程序页面..->OpenGraph->类型->浏览对象->确保对象映射到正确的og:image。您可以在那里预览图像。
希望这有帮助。。如果您还需要什么,请回复:

我从下面的行中删除了appid,它正常工作了

js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=122370783453655";
出于某种原因,当我试图获取代码时,它让我选择了一个应用程序,然后将应用程序ID附加到代码中


现在一切都好了。

对不起,我应该提一下。我将添加上述代码的一个示例。好的,注意到即使$productURL是正确的,og:url也设置为主页。这可能是原因吗?如果是这样,为什么它仍然选择随机图像而不是og:image中设置的图像?谢谢你的回答,但是,我不明白为什么应用程序页面与此有关,对此我有点困惑。我看不到在下一页的说明中提到的任何内容:我对您在“OpenGraph”中使用“Objects and Actions”感到困惑,因为您使用的是og:type。因为您没有使用任何“开放图形”对象,所以不需要该标记。查看此@您共享的同一链接中要使用的有效属性。好的,我已将og:url从主网页更改为产品页url,这没有任何区别。它似乎没有拾取任何og元数据,但该页面包含相同的元标记。在这里发布你的url,看看是否有错误发生。这应该会给你一个想法。这是一个非常有用的工具,谢谢。当我将URL添加到我想要的页面时,它显示为所有内容都是正确的。所以所有OG元数据都是正确的,显示like按钮的一定是HTML5代码,但是什么呢0