将VKontakte社交“赞”按钮添加到帖子中会导致仅在第一篇帖子中出现多个按钮

时间:2012-11-20 作者:Naddy

我试图在wordpress帖子中添加一个VKontakte(相当于Facebook的俄语版本)“like”按钮,将其与Twitter/Facebook的“like/share”按钮一起放在循环中。虽然这在单篇帖子上效果很好,但在带有摘录poss的新闻概述中,该按钮会在第一篇帖子上重复显示,而不会在任何其他帖子上重复显示。

我遵循以下指示:http://vk.com/developers.php?o=-17680044&p=Like&s=0

我知道问题在于javascript中的某些东西弄乱了循环,并在一篇文章中重复它,而不是在每篇文章下面重复,但不知道如何修复它。

奇怪的是,他们的“分享”按钮工作得非常好。

感谢您的帮助,因为到目前为止,我所能找到的都是俄语。。。我不会说:/

1 个回复
SO网友:Milo

这不是WordPress特有的,但您链接的页面上提供的代码会放置一个ID为的div和一些引用该ID的javascript。如果您在一个页面上有多个实例,那么您将有多个使用相同ID的div和脚本实例,CSS ID必须是唯一的。

您可以通过向每个实例添加post ID来解决此问题,使它们都是唯一的:

<div id="vk_like_<?php echo get_the_ID(); ?>"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like_<?php echo get_the_ID(); ?>", {type: "full"});
</script>
然而,这并不是您所需要的全部。如果您阅读了页面底部的文本:

如果站点上的文章可以有不同的地址(例如,取决于重定向源、语言和其他参数),那么在VK中。小部件。与内部页面标识符一样,“page\\u id”应作为最后一个参数呈现。具有page\\u id的代码示例可以在完整的小部件文档中找到

您还需要设置page_id, 否则,所有按钮都会喜欢帖子列表页面,而不是单个帖子页面。我无法在没有登录的情况下查看文档页面,因此我只能猜测此参数接受永久链接。

结束

相关推荐

Added if statement to loop

我想给我的循环添加一个功能。与自定义post类型一起使用的php。然而,我不想让它显示在所有帖子上,只想显示那些自定义帖子类型的帖子(比如它被称为“review”)。有没有办法说如果post type=review,那么显示这个新部分,否则隐藏?我试过使用<?php if( get_post_type() == \'reviews\' ) 但我不知道如何将else语句表述为什么都不做,然后正常继续。非常感谢。