目前wordpress文章的可见性可以设置全部公开,也可以设置密码保护。但是如果是想实现文章的一部分内容加密,需要输入密码才能全部可见的话又如何实现呢?
可以通过以下方法来实现这个功能:
第一步:在WordPress主题的functions.php中加入以下代码:
// 加密部分内容短代码
function kyx_secret_content($atts, $content=null){
extract(shortcode_atts(array('key'=>null,'keyword'=>null), $atts));
if(isset($_POST['secret_key']) && $_POST['secret_key']==$key){
return '<div class="secret-password">'.$content.'</div>';
} elseif(isset($_POST['secret_key'])) {
return '<div class="widget widget_block"><div class="widget widget_ui_posts">
<h3>对不起,输入的密码不正确!</h3>
<form action="'.get_permalink().'" method="post">
<input id="ipt" class="search-input" type="password" size="20" name="secret_key">
<button type="submit" class="search-btn">立即查看</button></form>
</div></div>';
} else {
return '<div class="widget widget_block"><div class="widget widget_ui_posts">
<h3>隐藏内容,请输入密码后查看</h3>
<form action="'.get_permalink().'" method="post">
<input id="ipt" class="search-input" type="password" size="20" name="secret_key">
<button type="submit" class="search-btn">立即查看</button></form>
</div></div>';
}
}
add_shortcode('secret', 'kyx_secret_content');
代码中CSS样式根据自己前端修改。
第二步:在发布文章的时候对需要隐藏的内容输入如下代码:
[secret key="你的mima"]需要隐藏的内容[/secret]