如何解决WordPress首页密码保护失效问题

作者: 小月雨田 分类: WordPress技巧 发布时间: 2018-09-01 15:06

WordPress的文章的密码保护功能有时候经常用到,但是在很多主题里面,因为主题作者在首页显示时,使用了显示摘要或者截断输出,导致使用了密码保护的文章,内容被直接显示出来。博主就遇到了类似问题,经过一番研究,博主找到了解决办法,只需要修改一下代码即可。

首先,WP的后台中,找到:外观–编辑–首页模板。

001.png

在首页模板代码中找到以下代码:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"..."); ?>

在这段代码的上面插入一行:

<?php if (post_password_required()):the_content(); else :  ?>

然后,在源代码结尾部分插入:

endif;

改好以后的代码就变成如下:

<?php if (post_password_required()):the_content(); else :  ?>
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"..."); ?>

原理解释:WordPress官方默认主题采用的是显示文章内容,调用的是这个函数,而很多主题作者处于美观的考虑,采取了显示摘要或者截断输出,调用的是:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"..."); ?>

  这就导致了密码保护在首页失效,其内容被直接显示出来。要解决这个问题,也是很简单的,只需要加入一个判断函数,判断是否为密码保护文章,就解决了问题。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注