【问题标题】:Adding Facebook Commenting System to Squarespace Website - All Comments ending up on every webpage将 Facebook 评论系统添加到 Squarespace 网站 - 所有评论都出现在每个网页上
【发布时间】:2015-11-29 22:03:09
【问题描述】:
【问题讨论】:
标签:
php
json
facebook-javascript-sdk
squarespace
【解决方案1】:
太棒了!我现在已经全部启动并运行了!!!好激动。
我要为其他有此问题的人添加的唯一另一件事是,您还需要添加一些站点范围的代码。
设置 > 高级 > 代码注入 > 标头
<!--FACEBOOK COMMENT SYSTEM-->
<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&version=v2.8";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
此外,您需要关闭内置的 Squarespace cmets,这样您的页脚中就不会出现两者。
【解决方案2】:
我做了什么:
在Pages > Blog > Settings > Blog Post Code Injection中,添加:
<div class="fb-comments" data-href="{permalink}" data-numposts="5"></div>
{permalink} 自动获取博文的永久链接。
在此值得注意的是,facebook cmets 不仅会显示在您的博客文章页面上,还会显示在博客列表中的每个博客文章下方。我只希望 facebook cmets 出现在博客页面上,而不是在博客列表主页上,以防止 facebook cmets 出现在博客列表主页上我添加了 css:
.blog-list .fb-comments { display: none; }
我能够看到博客列表和博客详细信息页面之间的区别在于父元素存在类 .blog-list 或 .blog-page 所以上面的 css 只会隐藏 .blog-list 中的 cmets。