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


Facebook sharing PHP - check if has been shared

我的客户有一个使用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中添加一些东西来检查用户是否共享了页面吗?

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

提前谢谢。

我一年多前问过这个问题,并用表格自己解决了这个问题。我想我会和大家分享我是如何做到的。

首先是用于共享的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
}
?>