其实密码保护功能在WordPress中的使用还是比较多的,但是由于之前子凡并没有过于注意到这里,因为最近有一些开发所以需要使用该功能,然而也就发现了原来TearSnow主题中的一些不足,所以就研究了一番,把这个功能彻底解决一下。
这个问题主要是首页文章如果显示摘要的或截断输出的,如果是密码保护文章压根儿没有提示输入密码,直接跟没有那样输出。
问题分析:
一般来说,WordPress 中输出文章都是用<?php the_content(); ?> 这个函数,但在一些主题中,首页一般不是完全输出文章内容的,而是输出摘要或者截断输出那样,比如子凡在做主题摘要都是直接使用下面的代码来代替原来的<?php the_content(); ?> :
1 | <?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"..."); ?> |
解决方案:
解决的方法很简单,就是给一个判断的函数,判断是否为密码保护文章就可以了,WordPress中有这个函数post_password_required,所以子凡就把原来的代码应该改为:
1 2 | <?php if (post_password_required()):the_content(); else : ?> <?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"..."); endif; ?> |
由于该问题的出现,TearSnow收费主题也将在下一个版本中修复,免费主题的用户大家可以自己动手改一改哈!
更多关于WordPress优化及疑问可以添加QQ群:255308000
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载
本文链接:https://zhangzifan.com/wordpress-password-protection.html
留言评论