2013-05-30 36 views
5

当我点击我网站上的Like按钮时,出现一系列错误。Facebook Like 500在WordPress中的错误

阻止与原籍“https://www.facebook.com”的帧访问 与原籍“http://static.ak.facebook.com”的帧。请求访问的帧 具有“https”的协议,访问的帧 具有“http”的协议。协议必须匹配。

POST https://www.facebook.com/plugins/like/connect 500(OK)

而这里的代码:

<div class="feedback facebook"> 
    <iframe allowtransparency="true" src="http://www.facebook.com/plugins/like.php?href=<?php echo get_permalink(); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" style="border: medium none; overflow: hidden; width: 160px; height: 21px;"></iframe> 
</div> 

不知道什么是错我的代码。我试过urlencoding的URL。任何想法,不胜感激。

+0

我收到同样的,你有没有找到解决方案。如果是,请更新您的答案。 –

回答

0

请求访问的帧的协议为“https”,访问的帧为 的协议为“http”。协议必须匹配。

你的链接显然是在做一个HTTP POST到https://www.facebook.com/plugins/like/connect,当它应该做一个HTTP POST到http://www.facebook.com/plugins/like/connect

随着中说,你的iframe的代码示例是不完全有益的,对于重要的部分是什么函数返回“get_permalink()”(如下所述:http://codex.wordpress.org/Function_Reference/get_permalink

做到这一点:

更换

src="http://www.facebook.com/plugins/like.php?href=<?php echo get_permalink(); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light" 

随着

src="http://www.facebook.com/plugins/like.php?href=<?php echo str_replace("https","http",get_permalink()); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light" 

而且查看以下(以及链接)

7月2013迁移后,Like按钮需要一个绝对URL中 href参数。

https://developers.facebook.com/roadmap/#july2013