WordPress自定义栏目运用实例V:为加密文章添加密码提示文字

默认的话,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

评分:
4.00 avg. rating (79% score) - 6 votes
云左主机 广告
发表评论