默认的话,WordPress中加密的文章时不会有任何的提示的,就一个“加密:”在文章名前面。通常的话,解决这个问题的话我都是直接将密码写在题目中的(比如说这儿,还有这儿)。之前在weisay主题中看到一个可以为加密文章添加密码提示文字的方法,研究了下是用自定义栏目来实现的,现在将它分享出来。
将下面的代码丢入主题的funtions.php文件的最后一个 ?> 前:
function password_hint( $c ){ global $post, $user_ID, $user_identity; if ( empty($post->post_password) ) return $c; if ( isset($_COOKIE['wp-postpass_'.COOKIEHASH]) && stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) == $post->post_password ) return $c; if($hint = get_post_meta($post->ID, 'password_hint', true)){ $url = get_option('siteurl').'/wp-pass.php'; if($hint) $hint = '密码提示:'.$hint; else $hint = "请输入您的密码"; if($user_ID) $hint .= sprintf('欢迎进入,您的密码是:', $user_identity, $post->post_password); $out = <<<END <form method="post" action="$url"> <p>这篇文章是受保护的文章,请输入密码继续阅读:</p> <div> <label>$hint<br/> <input type="password" name="post_password"/></label> <input type="submit" value="输入密码" name="Submit"/> </div> </form> END; return $out; }else{ return $c; } } add_filter('the_content', 'password_hint'); |
第一次使用是,在文章的自定义栏目添加一个名称为password_hint,值为密码提示信息,如:谁才是抗日的中流砥柱?
上面那个密码提示信息例子答案你该知道吧?国民党,或者说国军。绝对不是某party。
WordPress自定义栏目实例系列文章:http://devework.com/tag/custom-fields