WordPress本身具有加密整篇文章的功能。如果整篇文章都是加密的,我怎么能吸引别人读我的文章呢?
此时,我们需要对文章中的一些内容实现加密功能。如果你匹配微信公众号,你将能够吸收粉末。
网络上WordPress文章的密码保护相关功能的例子很多,但我还没有找到这样方法,即当访问者密码输入错误时,一个简单的提示代码。
// 输入密码查看文章内容
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' );
如何应用到文章呢
添加完成后,如果一切顺利,经典文章编辑器"文本"编辑模式将出现"项目密码保护"按钮。选择需要保护的文本并单击该按钮进行密码保护,并注意设置受保护的密码(键)。
[pwd_protected_post key="保护密码"]保护内容[/pwd_protected_post]
当然,您也可以使用以下简短代码直接编辑密码保护:
但是默认样式不是很美观可以通过下方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;
}
}