修改WordPress密码保护文章中密码输入提示文字的方法

修改WordPress密码保护文章中密码输入提示文字的方法-0470生活网

解决了标题前丑陋的文字提示,到正文中我们又发现了更丑的提示文字,“这是一篇受密码保护的文章。您需要提供访问密码:”。按照中文逻辑这里面“文章”字样后该用逗号的有木有(我不是处女座,没有强迫症,真的)!而且,按照本来的预想,加密文章是为了不让百度等收录或者恶意采集,但是对于正常用户应该是可以访问了。那么,就需要将密码提供给这些用户。我们何不改掉这丑不拉叽的提示文字,改成我们想要的效果?

好了,下面看具体方法:

找到主题所在文件夹,找到其中function.php文件,用Editplus或UE打开,在内容最后的“?>”之前添加如下代码:

想要什么样的正文提示就直接改我那段中文就好了。这段代码相对有点复杂了,能写出来的人应该是个PHP+CSS大神。虽然代码是我写出来的,但我很谦虚的认为自己不是大神。因为,这段代码基本是我从WordPress源码里复制出来的……

为何这段代码达到目的了呢,下面看步骤吧:

1、找到主题文章页的控制文件,一般为single.php。查看代码我们发现控制文章内容展示的竟然只有另人发指的一小行代码,而这行代码里有效的仅是一个函数the_content()。

2、通过百度查找发现该函数的定义代码在wp-includes/post-template.php,然后我们就愉快的看代码了:

3、我们又愉快的发现,这代码里没有我们要找的内容。但我们要找的内容由get_the_content()得到,好吧,我们继续愉快的找函数get_the_content()的代码:

这代码太长了,我就不一一分析了,只拿出来对我们有用的一段:

这段代码的意思是如果文章密码存在,则返回值为get_the_password_form()。

4、又被坑了,好吧,只能继续往下找函数get_the_password_form()的代码:

皇天不负苦心人,我们最终还是找到了正文提示文字的控制代码。变量$output中有正文密码提示信息,还有密码输入框样式等。这样,我们就没办法简单仅改提示信息了。当然,如果你说用替换函数,那也是可以的,但效率不高。怎样效率高呢,我们就不查找文字替换文字了,我们直接把整段代码给换了!

所以,就有了我们最开始看到的那段代码,那段代码基本就是在WordPress函数get_the_password_form()的基础上修改得到的。

WP为我们提供了密码保护文章正文内容控制的过滤钩子the_password_form,我们只需要建一个函数重新定义这些内容再return,再将这个函数使用add_filter()挂载到钩子上就OK了。如果你不懂什么是过滤钩子,可以详见“WordPress过滤钩子函数add_filter()、apply_filters()源码解析”。

另外,再补充一点,在正文上面的状态栏里,密保文章的评论数提示为“要查看留言请输入您的密码。”。中间还多个句号,看着就爆丑,想去掉它?找到主题single.php文件,在其中查找comments_popup_link,在这行代码的上下一行分别添加代码,修改后代码如下:

*文章为作者独立观点,不代表0470生活网立场
本文由 Mr's Zhuo 授权 0470生活网 发表,并经0470生活网编辑。转载此文章须经作者同意,并请附上出处(0470生活网)及本页链接。原文链接http://www.0470000.com/?p=447
发表评论

坐等沙发
相关文章
永恒之蓝比特币勒索蠕虫病毒预防及文件恢复工具,关闭445端口
永恒之蓝比特币勒索蠕虫病毒预防及文件…
鲁建房字[2016]14号文件 住房公积金缴纳凭证及申请表电子版下载
鲁建房字[2016]14号文件 住房公积金缴纳…
wordpress使用timthumb首页缩略图不显示的解决方法汇总
wordpress使用timthumb首页缩略图不显示…
【软件教育培训】写给所有想从事软件研发的年轻工程师的忠告与建议
【软件教育培训】写给所有想从事软件研…
孩子退烧妙招和家庭食谱,宝儿妈们收藏起来吧!
孩子退烧妙招和家庭食谱,宝儿妈们收藏…
家庭清洗妙招集锦:只要几分钟,油烟机焕然一新!
家庭清洗妙招集锦:只要几分钟,油烟机…
我还没有学会写个人说明!