您的位置: 开心技术乐园 > 技术仓库 > 网站技术 > 阅读文章

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 '
 <div class="password_protected_post_content">'.do_shortcode($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="请输入密码查看隐藏内容,未知请添加TG群/TG频道获取密码"/>
 <input type="submit" value="确    定" />
 </form>
 ';
    }
}
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')){
?>
    <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' );

  还可以美化一下,在主题的 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次即可实现部分内容加密。

    • 本文标签:
    • 人气热度:701
    • 生产日期:2019年4月09日 - 11时17分29秒

    error: Content is protected !!