TYPECHO WIKI
每一个作品都值得被记录

Typecho设置文章密码保护

Typecho维基君Typecho教程 • 1947次浏览 • 发布 2019-05-22 • 更新 2019-05-22

在别人博客看到了一个需要输入密码才能访问文章的功能,像下图一样:

Typecho设置文章密码保护

typecho也是有这个功能,不需要插件就可以实现。在编辑文章时,右边高级选项,公开度里有个密码保护可以选择:

Typecho设置文章密码保护

加密效果如下:

Typecho设置文章密码保护

不过这样的界面不是很友好,至少标题还是要显示出来的,不然也吸引不了人
下面就来修改下代码,代码路径:var/Widget/Abstract/Contents.php
找到这页代码,应该在740行左右,将以下三行注释掉,注释是在代码前加上“//”,另外在修改下代码,让界面友好些

//$value['title'] = _t('此内容被密码保护');

//$value['tags'] = array(); 

//$value['commentsNum'] = 0;

更改后的效果如下图:

Typecho设置文章密码保护

标题能被看到了,输入界面也友好了些,只是我不会PHP和CSS,不然也可以做美观些。。。
附修改后的代码,不懂PHP的可以看下,照这样子修改就可以了

if ($value['hidden']) {
$value['text'] = '<form class="protected" action="'. $this->security->getTokenUrl($value['permalink']). '" method="post">'.'<p class="easyPieChart"><input type="password" class="text" name="protectPassword" size="10" placeholder="此文章已被隐藏,请输入密码查看" style="background-color:rgb(246, 244, 236);"/> <input type="submit" class="submit" value="' . _t('提  交') . '" /></p>' . '</form>';
//$value['title'] = _t('此内容被密码保护');
//$value['tags'] = array();
//$value['commentsNum'] = 0;
}

需要特别提醒的是, 在 nginx/apache 中不要自定义 403 错误页 ,因为 nginx/apache 自定义错误页优先于 typecho,一旦设置就不会出现输密码的页面,而是显示 403 错误页了。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »