添加带有分享计数和可变文本的自定义Facebook分享链接

时间:2014-02-20 作者:molokom

我正在一个新闻网站的主页上尝试这样做。

news site homepage

我正在苦苦挣扎的部分是Facebook共享链接文本。它应该:

计算特定帖子的共享/链接数隐藏数字是0写“共享!”如果有0股,如果有1股,写“共享1次”,如果有1股以上,写“n股”文本是任意的,我希望能够控制它。

我找到了以下代码以获得赞数:

function get_likes($url) {
 $json_string = file_get_contents(\'http://graph.facebook.com/?ids=\' . $url);
 $json = json_decode($json_string, true);
 return intval( $json[$url][\'shares\'] );
} 
我设法用它来获得实际的股票数量:

<a href="http://www.facebook.com/sharer.php?u=<?php the_permalink();?>&t=<?php the_title(); ?>">
 <?php $url = get_permalink( $post_id ); echo get_likes("$url"); ?> shares</a>
现在困难的部分是如何控制文本,就像在“comments\\u number”中控制文本一样:

comments_number( \'no responses\', \'one response\', \'% responses\' );
有什么提示吗?

1 个回复
最合适的回答,由SO网友:molokom 整理而成

由于这个答案,我找到了一个简单的解决方案:How do I change the singular/plural on “comment” to “comments” on Facebook\'s number of comments?

下面是我如何在没有标记的情况下,使用我已经在使用的代码来解决问题的,这将进入函数。php

function get_likes($url) {
   $json_string = file_get_contents(\'http://graph.facebook.com/?ids=\' . $url);
   $json = json_decode($json_string, true);
   $count = intval( $json[$url][\'shares\'] );
   if ($count == 0) {
     echo "share!";
   } elseif ($count == 1) {
     echo "shared 1 time";
   } else {
   echo "$count shares";
   }
} 
这个在模板中

<?php $url = get_permalink( $post_id ); echo get_likes($url); ?>

结束

相关推荐

POSTS_NAV_LINK();不显示在静态页面上

我有两个不同的循环。主页上的默认值,但存档页面上的二次循环。它抓住了所有的内容,就像这样:<?php // WP_Query arguments $args = array ( \'posts_per_page\' => \'3\' ); // The Query $archiveQuery = new WP_Query( $args ); // The Loop if ( $archiveQuery-&