我的客户有一个使用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
}
?>