我正在尝试为我网站上特定类型的动态页面创建共享链接。该页面有一个基本模板,但随后它运行一个大型 PHP 脚本来解析 XML 以构建实际有用的内容。
典型的 facebook 分享或点赞似乎会拉取基本模板的标题和内容,而不是最终页面,这对我来说毫无用处,所以我发现这段代码创建了一个自定义分享链接,您可以在其中覆盖标题、描述、照片等:
$title=urlencode($xml->pet->name . ' | DPA!');
$url=urlencode($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
$summary=urlencode($xml->pet->name . ' is available for adoption.');
$image=urlencode($thumbnail_photo);
?>
<a onClick="window.open('http://www.facebook.com/sharer.php?s=100&p[title]=<?php echo $title;?>&p[summary]=<?php echo $summary;?>&p[url]=<?php echo $url; ?>&&p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325');" href="javascript: void(0)">Share on Facebook</a></div>
<?php
这会根据需要拉出共享器窗口,其中包含正确的信息,但是当我去共享时,我收到此错误:
无法将消息发布到此墙
我的网站正在运行 Wordpress。谁能告诉我为什么会发生这个错误?
另请注意,我已尝试更改共享权限,尝试使用其他浏览器,甚至让我丈夫在他的计算机和帐户上尝试。
编辑#2:有关更多信息,该页面是 Wordpress 中带有自定义模板的“页面”。该模板有一个占位符标题,即“基本标题”。页面上实际显示的标题是事后生成的,因为我必须先阅读 XML 才能找出标题是什么。我尝试过的所有典型的喜欢或分享代码都将“基本标题”作为我正在分享的页面的标题。他们也不会提取页面模板之外存在的内容中的任何图像或文本。因此,它们对我毫无用处。
编辑#3:我将一个示例 URL 放入 facebook 调试器工具并注意到一些奇怪的东西。在重定向部分下,原始 URL 是正确的,但“rel="canonical"” URL 是基本模板的 URL。原始 URL 有一个 HTML 参数,让 PHP 代码知道要获取什么 XML。“抓取的 URL”显示了没有提供参数时会发生什么。不知道这是否有帮助。