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‘ ); |
代码先判断文章是否有密码保护,并且当前访问者的浏览器是否有输入过正确密码的 cookie 记录,如果有密码保护并且没有cookie 记录,就显示密码保护提示内容,否则显示文章内容。
所以,如果你要修改提示内容,只需要修改 $output 部分的内容即可,比如修改“这是一篇受密码保护的文章,您需要提供访问密码:”等等。