寻找一个插件,以确保我的网站的临时(未登录)用户将同意使用条款。也就是说,他们第一次尝试访问网站上的任何页面时,会显示条款并提示同意。如果suer同意,将其存储在DB(首选)或cookie中。
我遇到了“使用条款”插件,但它已经一年多没有更新了,我不确定它是否支持我的方案。
谢谢
寻找一个插件,以确保我的网站的临时(未登录)用户将同意使用条款。也就是说,他们第一次尝试访问网站上的任何页面时,会显示条款并提示同意。如果suer同意,将其存储在DB(首选)或cookie中。
我遇到了“使用条款”插件,但它已经一年多没有更新了,我不确定它是否支持我的方案。
谢谢
我以前写过这样的东西,在加载页面之前检查cookie,如果找不到cookie,页面会显示服务条款之类的内容和一个要同意的复选框,因此只有在客人同意后,他才能看到内容。
我看看能不能找到那个代码。
function to add_filter(\'the_content\',\'check_tos_656\');
function check_tos_656($content){
//only for none logged in guests
if (!is_user_logged_in()){
//check if guest has agree cokkie
if(!check_cookie_tos()){
$content = show_tos();
}
}
return $content;
}
不,你可以在那里看到两个函数check\\u cookie\\u tos()一个函数,查看cookie是否存在因此,它们是:
function check_cookie_tos(){
if (isset($_COOKIE[\'agreed_TOS\'])){
if ($_COOKIE[\'agreed_TOS\'] =="I_aggre"){
return true
}
}
return false;
}
function show_tos(){
$out = \'<h3>You Must Agree to our T.O.S blablabla</h3>
//here you can put your TOS
blablabla
blablabla
blablabla\';
$out .= \'<form name="tos_check" method="POST" action="">
<p>
<input type="checkbox" name="tos_agree" id="tos_agree" value="yes" /> I Agree!<br />
<input type="submit" name="submit_tos" id="submit_tos" value="submit">
</p></form\';
return $out;
}
现在您可以看到,我们有一个表单,可以将客人的协议提交给T.O.s,因此我们需要处理该表单并创建cookie,如下所示:if (isset($_POST[\'check_cookie_tos\']) && $_POST[\'check_cookie_tos\'] == "yes"){
setcookie("agreed_TOS", "I_aggre", time()+3600, "/", str_replace(\'http://www\',\'\',get_bloginfo(\'url\')) );
}
你必须在代码中设置自己的T.O.S,但如果有足够多的人会问,我会将其转换为插件并添加一个简单的管理面板。享受
过去我对ToS插件做了一次更全面的调查,但发现它们除了在登录表单上添加一个额外的表单字段外,还缺少其他功能。例如,我想让用户在盲目同意之前浏览ToS,但这并不存在,所以我不得不编写它。
这就是说,登录表单没有核心其他部分那么多的操作和模板挂钩,因此这可能是它的一个副作用。
在显示任何内容之前,都需要达成一致意见,这是非常具体的,我很有信心你会走运的。但完全可行。
我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?