完全陌生人可以在我当地的Wordpress博客上发布Facebook评论,但我无法发布任何内容

时间:2014-07-11 18:42:08

标签: facebook wordpress wordpress-plugin facebook-comments

所以我在localhost上运行WordPress,安装了Facebook评论插件。我在Facebook上打开了平台应用程序,创建了一个应用程序,单击了“设置”,单击了“添加平台”,选择了“网站”,并在“站点URL”和“应用程序域”字段中键入“localhost”。然后在WordPress中,我将App ID和App Secret粘贴到Facebook插件设置中。

Facebook评论框随后出现在我的本地博客上......收到了来自不同国家的人的11条评论。他们中的大多数都输入了“测试”或类似的东西,所以我想他们正在测试自己的系统。我不知道为什么他们的系统与我的系统有关。

但是当我尝试自己提交Facebook评论时,会有一个小的进度条动画,然后什么都没有发布。

我查看了其他StackOverflow答案mainly this one,并尝试将网站网址和应用程序域字段更改为localhost:3000,localhost:8000和localtest.me。 (将站点URL更改为127.0.0.1会显示一条错误消息,指出该地址“无效,因为它是一个Facebook网址”。)另外,我检查了我的hosts文件以确认“localhost”指向127.0.0.1。

到目前为止,没有任何工作。有什么想法吗?

P.S。我仍然可以在其他网站上发布Facebook评论。不是我本地机器上的博客。

修改

回应大卫要求提供更多信息......似乎问题比我想象的要早。当我第一次点击“添加评论”打开Facebook评论框时,Firefox控制台会出错:

Empty string passed to getElementById().

尽管出现此错误消息,但在博客页面上本身一切都很好。 Facebook评论框打开它应该...然后我输入评论并点击“评论”,并获得第二个控制台错误:

Use of getAttributeNode() is deprecated. Use getAttribute() instead.

Facebook评论未提交或发布。评论框只是(简要地)显示一个迷你进度条。

编辑2:

现在Facebook评论工作正常,我看到这两条错误消息仍然出现。据推测,这意味着它们实际上与我以前无法发表评论有关。

2 个答案:

答案 0 :(得分:0)

JS版的分享。尝试只是放入你的页面。如果有效,请将其排队。

<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="XXXXXXPUTAPPID HEREXXXXXXX&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

HTML

<div class="fb-comments" data-href="http://example.com/comments" data-numposts="5" data-colorscheme="light"></div>

然后在应用详细信息中尝试您的localhost设置。我总是在localhost上遇到FB的问题,他们似乎改变了他们如何处理它,但尝试你的不同端口,你应该得到它!

答案 1 :(得分:0)

我决定使用解决方法:

(1)在远程主机上创建WordPress博客,(2)安装和配置Facebook评论,(3)使用Duplicator插件将博客复制到本地计算机,(4)创建新博客在远程主机上,以及(5)在新的远程博客和本地博客上安装WP Clone插件。

最后,我在本地使用WP Clone创建.zip文件,使用FTP将文件移动到我的远程wordpress文件夹,然后从WP Clone FAQ中所述恢复该文件中的远程版本。我一直在以相同的方式部署更新(不是最有效的工作流程,所以我可能会转而使用Git进行更新,但现在它运行良好)。

要使博客在localhost上运行,我需要modify the MySQL settings in wp-config.php(数据库名称,用户名,密码等)登录本地数据库。

此外,尝试通过单击“立即安装”将新主题或插件添加到本地版本给了我一个神秘的屏幕,询问我的FTP凭据,直到我changed the owner of the wordpress folder and files to _www。我还确保folder permissions and file permissions分别设置为775(从755)和664(从644)。

所以现在WordPress已启动并运行,无论是在localhost还是在我的远程主机上,我都可以在两个版本上发布我的Facebook评论。不过,我仍然会在本地博客上收到陌生人的评论! ;)不用担心,只要我能在本地开发并且知道它可以在线工作,我就很满意。