所以
理想的方法是使用一些标识符并将其保存在数据库中。但这只能发生在用户登录的情况下,在这种情况下,我们可以使用user meta来保存点击次数,或者我们可以使用user IP将其保存为瞬态。用户IP同样意味着,您需要卷入政策和所有方面的争论,因为IP被视为私人信息。
策略是使用本地存储或Cookie,我们本可以使用Cookie,但由于GDPR的疯狂使您将内容包含在策略中,我始终更喜欢将数据存储在本地存储中。
因此,我们将分配不同的data-click="n" 每个链接的值,其中n是每个链接的唯一值。当用户点击链接时,我们将使用本地存储的格式,{post id}+{data click attribute},该值将是点击链接的次数。
$(document).ready(function() {
var PostId = 2;
var i = 0;
$(\'.gotocls\').each(function() {
jQuery(this).attr(\'data-click\', i);
var ClickId = $(this).attr(\'data-click\');
var LocalKey = PostId + \'+\' + ClickId;
if(localStorage.getItem(LocalKey)){
if(localStorage.getItem(LocalKey) == \'5\'){
$(this).hide();
}
}
else{
localStorage.setItem(LocalKey,0);
}
i++
});
});
您需要自己将post id输入到代码中。上面的代码在页面加载时运行,检查已经单击了5次的按钮并将其隐藏。如果存在从未单击过的链接,它将创建一个值为0的新本地存储项,
$(document).ready(function(){
$(".gotocls").click(function() {
var PostId = 2;
var ClickId = $(this).attr("data-click");
var LocalKey = PostId + \'+\' + ClickId;
count = localStorage.getItem(LocalKey);
count ++;
if(count > 4){
localStorage.setItem(LocalKey, 5);
$(this).hide();
}
else{
localStorage.setItem(LocalKey, count);
}
});
});
此代码负责处理单击。每次单击时,它都会增加单击的值,并在达到限制时隐藏。我还没有测试代码,但你可以试试,我对它寄予厚望。对于Post Id,您可以手动键入Post Id,也可以将其用作内联JS,并且
echo get_the_ID(); 得到你想要的。