怎么添加文章密码保护功能? - WordPress教程

给你的主题添加部分文字需密码查看的功能

wordpress本身就带有整篇文章加密的功能,如果将整篇文章都加密了,那我该如何吸引别人来看我写的文章呢?

这时候,我们就需要实现对文章中的部分内容进行加密的功能了。如果配合微信公众号,就可以导流吸粉了。

WordPress文章密码保护相关的功能在网上已经有很多的例子了,但是我还没找到有这样一个方法,就是在访客密码输入错误时进行一个简单提示的代码。

既然没有,那就自己做把,在参考了网上现有代码的基础上,我进行了一些修改,效果如下:

怎么添加文章密码保护功能? - WordPress教程-Npcink

如果输入密码错误的话,就提示这个:

怎么添加文章密码保护功能? - WordPress教程-Npcink

functions.php 文件修改

将以下代码添加到主题的 functions.php 文件中的<?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]

CSS样式文件修改

将下面这段代码复制到你主题的样式文件中去,一般为 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;
	}
}

可根据自己的具体需求进行修改。

WP开发

禁止网站title中的 “-” 被转义 - wordpress开发

2020-2-20 14:40:30

WP开发

WordPress全站PJAX代码 - wordpress开发

2020-2-25 23:15:41

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 link@baimu.org 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索