Facebook共享PHP - 检查是否已共享

时间:2013-12-09 10:35:16

标签: javascript php facebook wordpress woocommerce

我的客户有一个使用WooCommerce电子商务模块的Wordpress网站,并希望该选项能够在他的购物车中共享一个产品。

所以在购物车页面上我有以下代码:

<div class="fb-share-button" data-href="link-to-page-which-will-be-shared" data-width="300" data-type="button"></div>

在header.php中我有这个:

<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_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

现在它显示了一个不错的小分享按钮 - 我想知道的是,如果用户共享了该页面,共享工具是否返回变量 - 如果是这样,我该如何访问它?

我是否可以在JavaScript中添加一些内容来检查用户是否共享该页面?

在用户共享页面后,将对其购物车应用折扣,为此,我需要能够检查用户是否共享了他或她的产品。

提前致谢。

1 个答案:

答案 0 :(得分:2)

一年多前我问了这个问题,并用自己的表格自己弄明白了。我想我会与大家分享我是如何做到这一点的。

首先关闭共享的javascript函数:

function fshare(e){
    e.preventDefault();
    FB.init({appId: "APP_ID_HERE", status: true, cookie: true});
    var share = {
      method: 'feed',
      link: 'http://domain.com/link-to-page/',
      picture: 'http://domain.com/image/me.jpg',
      name: 'Name of item',
      caption: 'domain.com',
      description: 'Check out my page!'
    };

    FB.ui(share, function(response){
        if (typeof response == "undefined") {
            // do nothing.
        } else {
            // submit facebook sharing form
            document.forms["facebookshared"].submit();
        }
    });
}

这里我们在共享项目后提交表单。以下是HTML表单的示例:

<form name="facebookshared" method="POST">
    <input type="hidden" name="shared" value="true" />
</form>

以下是检查表单是否已提交的PHP代码:

<?php
// if the facebook shared form is posted proceed
if ($_POST['shared']) {
    // perform whatever action you wish to do in between these brackets
}
?>