wordpress本身就帶有整篇文章加密的功能,如果將整篇文章都加密了,那我該如何吸引別人來看我寫的文章呢?
這時候,我們就需要實現對文章中的部分內容進行加密的功能了。如果配合微信公眾號,就可以導流吸粉了。
WordPress文章密碼保護相關的功能在網上已經有很多的例子了,但是我還沒找到有這樣一個方法,就是在訪客密碼輸入錯誤時進行一個簡單提示的代碼。
既然沒有,那就自己做把,在參考了網上現有代碼的基礎上,我進行了一些修改,效果如下:

如果輸入密碼錯誤的話,就提示這個:

- 原文來源:蟈蟈要安靜
functions.php 文件修改
將以下代碼添加到主題的 functions.php
文件中的<?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">'.$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' );
如何調用呢?
添加完成后,如果一切順利,在傳統文章編輯器“文本”編輯模式下應該會出現一個“文章密碼保護”的按鈕,選中需要保護的文字點擊該按鈕即可進行密碼保護,另外注意設置保護的密碼(key)。
當然,你也可以通過下面這段短代碼直接編輯進行密碼保護:
[pwd_protected_post key="保護密碼"][/pwd_protected_post]
CSS樣式文件修改
將下面這段代碼復制到你主題的樣式文件中去,一般為 style.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;
}
}
可根據自己的具體需求進行修改。