什么叫手贱,什么叫“未经全面测试就直接应用在生产环境”,我已经给大家生动的上了一课。
第一次重装
第一次重装是因为WP Githuber MD插件。
这个插件的特色:可以用markdown语法写文章;可以把已有的文章转成markdown格式;markdown格式的文章单独存储在wp_posts数据表的post_content_filtered字段下,不影响post_content字段下储存的html格式的文章。
这个插件的缺点:3000多个文件,占用46.5M空间。算上WordPress程序本身和部分必需插件的大小,算上运行过程中产生的临时文件,低于150M空间的主机慎用。(嗯?还有低于150M的主机?真的有,国内某主机商还在卖这种主机,而且价格比汉口500M空间的主机还贵)
还有一个问题,应该是设计问题。在手机上,编辑器里最后一段文字显示不全,无论如何上滑都显示不全。虽然我从不在手机上写文章,但有需要时会在手机上修改文章。这个问题多次给我带来不便。于是决定卸载这个插件。
卸载了插件,并删除了数据库中的相应数据,问题出来了:新建文章、页面时,无法加载默认编辑器。修改文章、页面时可以加载默认编辑器。无论是区块编辑器还是经典编辑器都这样。
事件发生时我没有截图,现在我用测试站复现这个问题,只为截图给你看:
网上查了一些资料,根据资料操作,无法解决这个问题。对于我这个外行人来说,我采取的解决办法是:导出xml以后重装,再导入xml,重新配置插件。
第二次重装
WordPress有个问题。默认情况下,在网址之后面加上/?author=1,即可显示作者归档页面,网址的最后面是作者的用户名,而且是后台的登录名。如果没有修改后台登录地址,就有一些人通过这个用户名进行爆破。
如果不想暴露作者归档页面,可以手动在主题文件里加代码,也可以用插件解决。
Hide Author Archive插件可以解决这个问题。安装这个插件后,网址后面加上/?author=1不再跳转到作者归档页面,手动访问作者归档页面提示“404,无法找到页面”,让人无法联想到这就是真实的用户名。
然而,查看文章页面源代码,评论区的comment-author-***字段、wp-sitemap也会暴露真实用户名。该如何解决呢?
在数据库管理软件(如虚拟主机自带的phpmyadmin),找到wp_users,修改user_nickname,将它修改为和user_username不同的值,那么评论区comment-author-***、作者归档页面的链接、wp-sitemap均不会暴露真实用户名,显示的均为nickname,而非username。
当然,改掉后台登录页面的地址是最重要的。All In One WP Security & Firewall插件可以实现这个功能,全中文界面,还有其他超级多的防火墙功能。这个插件卸载后不会出现任何问题,我已经全面测试过。
考虑到有一些模板会显示作者名字(后台资料中设置的“显示名称”),该名字会链接到作者归档页面,例如我非常喜欢的、最近休息时在测试的、由WordPress团队设计的Seedlet主题。我没有能力修改模板将作者名字删掉,因为我完全看不懂WordPress的模板代码逻辑。此时点击作者名字是404页面,非常不友好。万一我以后换成这个模板了呢?我总不能一直让作者归档页面404吧。
禁用该插件并按照上述方法修改nickname后,会隐藏真实用户名,显示作者归档页面是无妨的。禁用该插件后,网址后面加上/?author=1可以跳转到作者归档页面,但是该页面依然是404。
在数据库里各种翻、各种搜,对我这个外行人来说,始终无法知道该插件到底动了啥。无奈之下,导出xml以后重装,再导入xml,重新配置插件。
从此以后,安装一些插件之前,我会务必在测试站进行全面测试,除测试该插件安装以后的功能,还要测试卸载该插件会不会恢复之前的功能。
另外,我已经将博客手机端的文字大小从18px改为19px,更方便在手机上阅读,减少视觉压力。
49 条回复
第二个问题可以写个简单的函数搞定。
这是直接跳到404。想直接跳到首页也可以。
add_action(‘template_redirect’, ‘my_template_redirect_author’);
function my_template_redirect_author() {
if (is_author()) {
global $wp_query;
$wp_query->set404();
wp_redirect( network_site_url( ‘404.php’ ) );
exit;
}
}
非常感谢!
如果是Wordpress,推荐用wpjam插件。
需要关注wx才能用,而且过一段时间就会把你的wordpress很多功能禁用,需要重新扫码才能用,所以我不会再使用这个插件了。