由于有些内容我们需要隐藏WordPress的部分内容,这里我们可以用一些会员类的主题和插件实现。但是,大部分主题都没有这些功能,而且很多的插件都是付费的。这里,我们可以用WordPress代码实现密码保护。
1、功能模块
- // 输入密码查看文章内容
- 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' );
2、添加内容
- [pwd_protected_post key="保护密码"][/pwd_protected_post]
需要的内容可以在短代码中。
3、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;
- }
- }
我们也可以用CSS样式控制样式。
评论