问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

wordpress 如何在页面打开时 提前显示一个页面 询问是否成年?

发布网友 发布时间:2022-04-26 08:20

我来回答

1个回答

热心网友 时间:2022-04-21 19:53

如下,有问题追问或本人网站留言。

有时候我们的博客需要分享一些羞羞的内容,按惯例及服务器所在国家法律要求,是必须要在浏览前显示“*内容警告”的,以提示方可内容可能不适宜未成年人或引起不适。对于wordpress来说就很简单,简单的一段代码就能实现。

要实现这样的功能,我们需要wordpress在wp_loaded的时候判断指定cookie是否存在,以确定是否是该浏览者是否已经浏览警告页面。如果该cookie不存在则显示警告页面,并且在浏览者点击确认后写入cookie。

代码如下:

if(class_exists('AltContentsWarning')) return;
class AltContentsWarning{
var $path;
function __construct(){
add_action('wp_loaded',array($this,'isAlt'));
$path= parse_url(untrailingslashit(home_url()))['path'] === NULL ? parse_url($_SERVER['REQUEST_URI'] )['path'] :
explode(parse_url(untrailingslashit(home_url()))['path'],parse_url($_SERVER['REQUEST_URI'] )['path'])[0];
}
function isAlt(){
if(is_user_logged_in() === true) return;
if(!isset($_COOKIE['isAlt']) || $_COOKIE['isAlt'] != 'yes'){
if($_POST['isAlt'] == 'yes'){
if(setcookie('isAlt','yes',time()+3600*24) === true){
echo 'success';
die;
}
}
else{
$this->show_warning();
die();
}
}
return;
}
private function show_warning(){
?>
<html>
<head>
<title>*内容警告 - <?php bloginfo('name');?></title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript" src="<?php echo home_url('/wp-includes/js/jquery/jquery.js'); ?>"></script>
</head>
<style type="text/css">
a{text-decoration:none;color:#0000FF}
a:hover{text-decoration:underline;}
</style>
<body bgcolor="#FFFFFF" text="#000000">
<p align="center"><font color="#FF0000"><b>警告 / WARNING </b><br>
</font><br>
本物品内容可能令人反感;不可将本物品内容派发,传阅,出售,出租,交给<br>
或出借予年龄未满 18 岁的人士出示,播放或播映。<br>
<br>
<font size="1" face="Verdana">This article contains material which may offernd and may not be
distributed, circulated, sold, hired, given, lent, shown, <br>
played or projected to a person under the age of 18 years. All models are 18 or
older. </font><br>
</p>
<p align="center">
<b>
<font size="7" face="Verdana">
<a href="javascript::" id="confirm">__ 满 18 岁,
请按此 __</a></font></b><BR><BR>
<a href="javascript::" id="close">退出浏览</a>
</p>
<script>
jQuery(document).ready(function($) {
$("#confirm").click(function(){
$.post("",{isAlt:'yes'},function(result){
if(result == 'success'){
if (getCookie('isAlt') != false){
location.reload(true);
}else{
alert('Cookie写入失败!');
location.reload(false);
}
}
});
});
$("#close").click(function(){
if(window.history.go(-1) == undefined){
window.location.href="about:blank";
}
else{
window.history.go(-1);
}
});
});
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return false
}
</script>
</body></html>
<?php
}
}
new AltContentsWarning();

追问这段代码加到哪儿呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考560分能上211大学吗? - 知乎 河北高考多少分能上211大学 河北2023高考211分数线是多少? 考560分能上211大学吗河北 刀剑英雄合王者武器多少费用 刀剑英雄帝辰王者现在什么价位 2021年度工程施工合同范本 2021承包转让简单的合同范本 2021医院食堂承包合同范本 div+css+js实现菜单的收缩与展开 调用数据库内容的时候为什么内容字段... 留学申请的实习证明问题? tan5x是复合函数吗 python 3.4 中原来的tkMessageBox变成啥了? lim(x趋向0)tan3x/tan5x等于多少?怎么算? 请问留学实习证明只需要单位盖章就可以吗,需不需要留联系电话或者联系人之类的?谢谢 bos后台可以用msgbox.showwarning方法吗 x-&gt;0时,求tan5x/x的极限这道题为什么不是等于1? javascript 确保在一段代码执行后再执行下面的代码??? 实习证明对留学申请有用吗 tan5x与sin5x是不是x趋于0时的等价无穷小? show warning是什么意思 sinx与x是等价无穷小的充要条件是sinx=x+o(x),那么为什么是tan5x=5x+o(x)而不是+o(5x)? 日本柴犬的繁殖方式 tan5x,,,求导数 极限的小问题 当x趋向于π(即pai)时,tan5x趋于几?为什么? tan5x怎么求导 实习证明对申请留学的作用大不大。为期4个月的实习马上结束,有必要开个实习证明吗? 求助,新人第一次想要养柴犬,公的好,还是母的 oppo手机热点连接 tan5x,求导数 tan5x/sin2x(当x趋向于派时)我令t=x-派。。 只有银行流水申请劳动仲裁能胜诉吗 python问题,NameError: name &#39;messagebox&#39; is not defined 怎么回事啊... 极限x趋近于派sin3x除于tan5x等于多少 银行员工辞职不批,员工申请劳动仲裁 证明tan5x和5x等价无穷小 mysql,为什么我用命令行添加表之后,总是显示有一个警告?这警告是什么... 劳动合同上的工资比实际工资低,通过银行发工资,劳动仲裁时以哪个工资为准? 哪个高手帮忙下lim(x趋向0)tan3x/tan5x 等于多少 怎么算~ 我想在vim中直接编译C语言请问怎样配置vimrc啊 申请劳动仲裁会冻结公司和法人的账户吗 lim(sin3x/tan5x)=?(此时x趋于π) 为什么在火狐中的$.ajax返回的值是true,在ie中返回false 劳动仲裁查封对公账户打官司要走哪些程序 求lim sin3x&#47;tan5x x趋近于π时为什么用等价无穷小代换是答案是错的... # pymysql+python3+appium插入数据时出错 tan5x/x趋向于零的极限等于5,不知道过程,谁帮忙说一下过程 mysql 导入数据显示warning15 tanx*tan5x=1 求tanx 听说银行卡可以作为劳动仲裁中证明劳动关系的证据,是不是只凭银行卡复印件,或者还是要通过什么手续?