WordPress给文章添加密码保护功能

WordPress文章密码保护功能网上有很多相关的代码,但是没找到密码输入错误时提示的代码,所以最终还是自己对源代码做了些简单修改,便成了下面这幅样子

将以下代码添加到主题的 functions.php 文件中去即可。

// 输入密码查看文章内容
function password_protected_post($atts, $content=null){
    extract(shortcode_atts(array('key'=>null), $atts));
    if(isset($_POST['password_key']) && $_POST['password_key']==$key){
        return '
			<div class="password_protected_post_content">'.$content.'</div>
		';
    }elseif(isset($_POST['password_key']) && $_POST['password_key']!=$key){
        return '
			<script>
				alert("密码错误,请仔细核对密码后重试!!!");
				window.location.href="'.get_permalink().'";
			</script>
		';
	
	}else{
        return '
			<form class="password_protected_post_form" action="'.get_permalink().'" method="post">
			<input type="password" id="password_key" name="password_key" size="20" placeholder="请输入密码查看隐藏内容"/>
			<input type="submit" value="确    定" />
			</form>
		';
    }
}
add_shortcode('pwd_protected_post','password_protected_post');
// 输入密码查看文章内容快捷按钮
function appthemes_add_pwd_protected_post() {
	if (wp_script_is('quicktags')){
?>
    <script type="text/javascript">
        QTags.addButton( 'pwd_protected_post', '文章密码保护', '【pwd_protected_post key="保护密码"]','[/pwd_protected_post】' );
    </script>
<?php
    } 
}
add_action('admin_print_footer_scripts', 'appthemes_add_pwd_protected_post' );

 

添加完成后在文章编辑器“文本”编辑模式下应该会出现一个“文章密码保护”的按钮,选中需要保护的文字点击该按钮即可进行密码保护,另外注意设置保护的密码(key)。当然,你也可以通过下面这段短代码直接编辑进行密码保护:

【pwd_protected_post key="保护密码"][/pwd_protected_post】

 

注意将代码中的“【】”修改为“[]”

将下面这段代码复制到你主题的样式文件中去,一般为 style.css 文件

/** 输入密码查看文章内容 */
.password_protected_post_content{
	margin: 20px 0;
    padding: 20px;
    background: #f8f8f8;
}

.password_protected_post_form{
	margin: 20px 0;
	height:52px;
	font-size:24px;
	text-align: center;	
}

.password_protected_post_form [type="password"]{
	float: left;
    width: 70%;
	height: 100%;
	display: block;
	padding: 5px 16px;
	line-height: 36px;
	color: #777;	
	background: #FCFCFC;
	border: 3px solid #f3f3f3;
	border-right: 0px;
	border-radius: 3px 0 0 3px;
	box-sizing: border-box;
}

.password_protected_post_form [type="submit"]{
	float: right;
    width: 30%;
	height: 100%;
	display: block;
	padding: 5px 16px;
	line-height: 36px;
	color: #fff;
	background: #3498db;
	border: 3px solid #3498db;
	border-left: 0px;
	border-radius: 0 3px 3px 0;
	box-sizing: border-box;
	cursor: pointer;
}

@media (max-width:560px){
	.password_protected_post_form{
	height:36px;
	font-size:14px;
	text-align: center;
	}
	.password_protected_post_form [type="password"]{
		padding: 3px 9px;
		line-height: 24px;
	}
	.password_protected_post_form [type="submit"]{
		padding: 3px 9px;
		line-height: 24px;
	}
}

展开阅读全文

分享到: 更多 (0)
赞(0)
如果文章内容或图片资源失效或者您对文章有异议,请留言反馈或点击右下角邮件图标发送邮件说明情况,我们会及时处理,谢谢!
  • WordPress 5.0 换回原有”Classic Editor”经典编辑器的三种方法
    WordPress 5.0 正式采用了全新的“Block Editor”编辑器,从而替换了原有“Classic Editor”编辑器,相信有很多人都不习惯或者不喜欢新编辑器,那么新版 WordPress 该如何换回原来的 WordPress...
  • WordPress获取网站根目录、主题目录、插件目录路径和url地址
    标题描述很清楚,就是获取根目录、主题目录、插件目录路径的介绍,当你写个主题或者插件的时候一定会用到,就不多啰嗦直接给出代码吧 站点路径相关函数 home_url() 返回站点路径,相当于后台设置->常规中的”站点地址(URL)” $u...
  • WordPress主题添加全站底部三栏推广模块
    给网站底部增加一个通栏模块 新建 module_footer_brand_lmr.php 文件 新建一个名为 module_footer_brand_lmr.php 的文件,并将以下代码复制到新建的文件夹中,最后将文件丢到主题的 modul...
  • wordpress如何去掉generator
    用wordpress建站经常会出现一些显而易见的标签,比如说作者<meta name=”generator” content=”WordPress 4.9″>,网站一旦被别人知道用...
  • WordPress 如何实现纯代码添加禁止某些用户登录的方法
    在某些特殊情况下某些用户损害了网站的利益,你可能就需要禁止他们登录网站,WordPress博客如何实现免插件纯代码添加禁止某些用户登录的方法,也就是WordPress博客用户怎么实现封号,近日以来网站垃圾信息,垃圾回复泛滥,由于之前不怎么关...
  • WordPress性能优化 PHP环境开启Memcached缓存扩展
    什么是Memcached?免费和开源,高性能,分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态Web应用程序。Memcached是一个内存中的键值存储,用于从数据库调用,API调用或页面呈现的结果中获取任意数据(字...
  • wordpress自定义字段实现缩略图调用
    wordpress实现缩略图调用的方法非常多,比如常用的有插件法(WP-Thumbnails),也可以使用特色图片调用法,文章第一张图片缩略调用法等,这里给我大家介绍最简单的一种实现方法:自定义字段实现法。 具体实现过程: 1、找到需要实现...
  • WordPress非插件实现文章点赞功能
    功能丰富的WordPress点赞插件不少,但对于要在主题中集成简单文章点赞功能的需求,插件就显得不合适,于是乎非插件实现文章点赞功能的方法就诞生,实现思路是:可以通过ajax实时显示点赞数量,自定义字段保存赞数量,Cookies禁止重新点赞...
  • wow.js中各种特效对应的类名
    一、(页面在向下滚动的时候,有些元素会产生细小的动画效果。虽然动画比较小,但却能吸引你的注意。) 刚知道wow.js这个插件,之前访问别的网站下拉滚动条会出现各种效果感觉特别神奇,现在自己依葫芦画瓢也能弄出来这种效果了。 虽然效果出来了,但...
  • WordPress自动采集发布插件WP-AutoPost使用教程
    WP-AutoPost是目前最好用的WordPress自动采集发布插件,最大的特点是可以采集来自于任何网站的内容并自动发布到你的WordPress站点。不像其他大部分WordPress采集插件,只能根据Feed进行采集,使用Feed采集有很...
  • WordPress自定义登录页面LOGO、链接、文本、样式等
    自定义 WordPress 登录界面 Logo 在主题目录 functions.php 中加入以下代码: //自定义WordPress登录界面Logo function fanly_custom_login_logo() { echo '&...
  • WordPress 调用热门tag标签关键字
    标准语法: <?php wp_tag_cloud(”); ?> 带参数(大前端的标签云): <?php wp_tag_cloud(‘number=50&orderby=count&order=DESC&am...

评论 抢沙发

  • Q Q(选填)
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址