性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

WordPress 更改文章密码保护后显示的提示内容

Loading
2
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

WordPress 有一个密码保护功能,你可以在文章和页面的编辑界面看到设置选项:

password-protected-1_wpdaxue_com

设置了密码后,你就可以在前台看到如下提示内容:

password-protected_wpdaxue_com

本文的目的就是要修改这个提示内容,核心函数如下(添加到当前主题的 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 部分的内容即可,比如修改“这是一篇受密码保护的文章,您需要提供访问密码:”等等。

代码参考:http://code.tutsplus.com/tutorials/quick-tip-changing-the-password-protected-text-in-wordpress–cms-21042

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

12 条评论

  1. 怎么修改css样式呢。。。

    • 会了哈,给form添加一个id,然后对这个id进行css就好了,

      可以吧整段from内容复制到新建网页,然后修改添加样式等等就方便容易了。

      文章内的代码,要修改两处,在留言里面看到的。总结一下。

      add_filter( ‘the_content’,’password_protected_change’ );

      这里不要添加到the_content,要添加到the_password_form

      将wp-pass.php更改为wp-login.php?action=postpass

      送给后来看到并需要的人

  2. add_filter( ‘the_content’,’password_protected_change’ );

    这里不要添加到the_content,要添加到the_password_form

  3. :grin: 版主,我上传了这段代码后,所有中文的地方都乱码了,是怎么回事,怎么修改呢?

  4. 博主你好,现在的WordPress里面没有wp-pass.php这个文件了,如果还使用这个代码,在输入密码后会提示404,所以请问怎么修改这个代码。谢谢

    • 将wp-pass.php更改为wp-login.php?action=postpass就可以了。如果你更改过后台,那么你更改为你的后台的这个文件。据我发现,只要你使用加密服务,那你的后台地址是暴露无疑,不管你的后台地址隐藏的多少深。这样只有两者取一了。我不懂WP所以不知道怎么解决,还希望高人指点。

  5. 密码保护的功能倒一直没用过。

  6. 现在用tinymce 写文章的时候怎么都没有的啊

  7. 第一次来这,围观下博主文章

  8. 沙发。。。先坐了。

发表评论