WordPress 隐藏加密文章部分内容,纯代码非插件!
这个功能还是相当不错的,也许现在用不到,以后有可能用到。就是对 WordPress 文章的部分内容进行隐藏,如果需要访问,就必须输入密码,适合做 VIP 资源的分享。刚在某网站上看到,觉得应该留一份作为备用。纯代码功能,无需安装插件。
打开主题的 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 '
'.do_shortcode($content).'
';
}elseif(isset($_POST['password_key']) && $_POST['password_key']!=$key){
return '
';
}else{
return '
';
}
}
add_shortcode('pwd_protected_post','password_protected_post');
// 输入密码查看文章内容快捷按钮
// https://saodaye.com/wordpress/skill/1473.html
function appthemes_add_pwd_protected_post() {
if (wp_script_is('quicktags')){
?>
还可以美化一下,在主题的 CSS 文件中加入:
/** 输入密码查看文章内容 */
.password_protected_post_content{
margin: 20px 0;
padding: 0px;
//* 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: 80%;
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: 20%;
height: 100%;
display: block;
padding: 5px 16px;
line-height: 36px;
color: #fff;
background: #5a6a7a;
border: 3px solid #5a6a7a;
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;
}
}
最后,在 WordPress 后台发表文章的时候,编辑器切换到文本模式即可看到“文章密码保护”按钮,点击2次即可实现部分内容加密。