wordpress成人内容警告代码

2018年6月16日22:19:38 10 2,051 次

本代码已更新,请访问 [更新] wordpress成人内容警告代码

wordpress成人内容警告代码

“老司机”站长请继续浏览,未成年人请略过,谢谢!

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

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

代码如下:

<?php
class AdultContentsWarning{
var $path;
function __construct(){
add_action('wp_loaded',array($this,'isAdult'));
$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 isAdult(){
if(is_user_logged_in() === true) return;
if(!isset($_COOKIE['isAdult']) || $_COOKIE['isAdult'] != 'yes'){
if($_POST['isAdult'] == 'yes'){
if(setcookie('isAdult','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("",{isAdult:'yes'},function(result){
if(result == 'success'){
if (getCookie('isAdult') != 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 AdultContentsWarning();
?>
avatar

评论已关闭!

目前评论:10   其中:访客  9   博主  1

    • avatar 清秋暖冬 1

      这个好玩,转一个

        • avatar mr.z Admin

          @清秋暖冬 瞎折腾瞎折腾哈哈哈,兄弟郑州的?

            • avatar 清秋暖冬 1

              @mr.z 嗯嗯,目前在郑州上班

          • avatar 春江顺 1

            这个应该放到哪?

            • avatar 2508437889 1

              博主,可以付费请你教一下我怎么把这个页面放到网站上么,我试了好久都搞不定

                • avatar mr.z 3

                  @2508437889 具体什么需求?因为我没有做HTTP_USER_AGENT判断,所以按照这个文章里的代码做的话有一个问题就是影响搜索引擎抓取,抓到的都是警告信息。另外,这类提醒信息也可以做成前端显示的,或者简历一个单独的页面进行提醒,确认后跳回原页面。

                • avatar 春江顺 1

                  我是想美化一下样式,然后把这个页面做成引导页,就是用户第一次打开我网站会弹出这个警告页,然后点满足条件,就进入网站首页,不满足直接退出网站

                  • avatar 春江顺 1

                    我用你这个代码的时候七八行有报错,一直不成功,或者就是成功了但是点击事件一直判断不成功,卡在这个页面进不去网站

                    • avatar 2508437889 1

                      方便加一下你QQ或者微信请教一下吗

                        • avatar mr.z 3

                          @2508437889 微信二维码发你邮箱了,注意查收。