这个功能还是相当不错的,也许现在用不到,以后有可能用到。就是对 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().'" rel="external nofollow" ; </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 (wmh_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' );
还w ] v可以美化一下,在主题的 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 后台发表文章的时候,编辑器切换到文本模式j : M G M 1 ^ ;即可看到“文章密码保护”按钮,点击2次即可实现部分内容加密。