WordPress 有一個密碼保護功能,你可以在文章和頁面的編輯界面看到設置選項:
設置瞭密碼後,你就可以在前臺看到如下提示內容:
本文的目的就是要修改這個提示內容,核心函數如下(添加到當前主題的 functions.php 即可):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/** * WordPress 更改文章密碼保護後顯示的提示內容 * https://www.wpdaxue.com/change-password-protected-text.html */ function password_protected_change( $content ) { global $post; if ( ! empty( $post->post_password ) && stripslashes( $_COOKIE['wp-postpass_'.COOKIEHASH] ) != $post->post_password ) { $output = ' <form action="' . get_option( 'siteurl' ) . '/wp-pass.php" method="post"> '.__( "這是一篇受密碼保護的文章,您需要提供訪問密碼:" ).' <label for="post_password">密碼:</label> <input name="post_password" class="input" type="password" size="20" /> <input type="submit" name="Submit" class="button" value="' . __( "提交" ) . '" /> </form> '; return $output; } else { return $content; } } add_filter( 'the_content','password_protected_change' ); |
/**
* WordPress 更改文章密碼保護後顯示的提示內容
* https://www.wpdaxue.com/change-password-protected-text.html
*/
function password_protected_change( $content ) {
global $post;
if ( ! empty( $post->post_password ) && stripslashes( $_COOKIE[‘wp-postpass_’.COOKIEHASH] ) != $post->post_password ) {
$output = ‘ <form action="’ . get_option( ‘siteurl’ ) . ‘/wp-pass.php" method="post">
‘.__( "這是一篇受密碼保護的文章,您需要提供訪問密碼:" ).’ <label for="post_password">密碼:</label>
<input name="post_password" class="input" type="password" size="20" />
<input type="submit" name="Submit" class="button" value="’ . __( "提交" ) . ‘" /> </form> ‘;
return $output;
} else {
return $content;
}
}
add_filter( ‘the_content’,’password_protected_change’ );
代碼先判斷文章是否有密碼保護,並且當前訪問者的瀏覽器是否有輸入過正確密碼的 cookie 記錄,如果有密碼保護並且沒有cookie 記錄,就顯示密碼保護提示內容,否則顯示文章內容。
所以,如果你要修改提示內容,隻需要修改 $output 部分的內容即可,比如修改“這是一篇受密碼保護的文章,您需要提供訪問密碼:”等等。
代碼參考:http://code.tutsplus.com/tutorials/quick-tip-changing-the-password-protected-text-in-wordpress–cms-21042