Skip to content

如何保存网站文章的版本用于恢复历史内容?

通过修改配置实现文章多版本保存,用于文章内容的备份和恢复,以避免不小心的错误修改,是对网站系统安全和友好性的提升。如果网站没有这个功能,我们就需要通过去优化自身的行为习惯,来避免操作上的损失,而有了这个功能,我们便多了一个保险。
通过学习如何修改Wordpress的文章版本功能,我们可以学习内容管理系统的框架,和背后每一个函数、字段、配置、配置方法、配置逻辑、系统节点互通的思维习惯,不得不说,西方在底层和长远思考上领先我们很多,不过如果能够认识到,相信成长还是很快的,毕竟不成长是因为看不见或视而不见。
下面有两个有效的方法禁用 WordPress 的自动保存、自动草稿、修订版本功能。

通过修改 WordPress 配置文件实现功能禁用

WordPress有先后逻辑,先调用那个,后调用哪个,哪个是公,哪个是私,哪个发挥全域作用,哪个发挥私域作用,安装根目录下的 wp-config.php 这个配置文件来实现功能的启用禁用是全域,我认为。

//禁用自动保存 define('AUTOSAVE_INTERVAL', false);  
//设置自动保存间隔/秒 define('AUTOSAVE_INTERVAL', 120);  
//禁用文章修订 define('WP_POST_REVISIONS', false);  
//设置修订版本最多允许几个 define('WP_POST_REVISIONS', 3);

使用当前主题 functions.php 文件添加代码

禁用 WordPress 自动保存

//禁用自动保存(方法一) add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );
//禁用自动保存(方法二) add_action('wp_print_scripts', 'mgsh_no_autosave'); function mgsh_no_autosave() { wp_deregister_script('autosave'); }

可以查一下WP的action list,这样出了 admin_print_scripts,和 wp_print_scripts和 wp_deregister_script(‘autosave’) 就搞清楚了。
提示,以上是两种禁止 WordPress 自动保存的方法,编辑长文章前请注意手动保存;不建议关闭自动保存,磁盘空间还是够用的。

禁用 WordPress 修订版本

//禁用所有文章类型的修订版本 add_filter( 'wp_revisions_to_keep', 'mgsh_wp_revisions_to_keep', 10, 2 ); function mgsh_wp_revisions_to_keep( $num, $post ) { return 0;}
//禁用某种文章类型的修订版本 add_filter( 'wp_revisions_to_keep', 'mgsh_wp_revisions_to_keep', 10, 2 ); function mgsh_wp_revisions_to_keep( $num, $post ) { if ( 'post_type' == $post->post_type ) { //引号中 post_type 改为你想禁用修订版本的文章类型 return 0; } return $num; }

常见 WordPress 常见默认有的文章类型有:

  • 文章(Post Type: ‘post’)
  • 页面(Post Type: ‘page’)
  • 附件媒体(Post Type: ‘attachment’)
  • 修订版本(Post Type: ‘revision’)
  • 导航菜单(Post Type: ‘nav_menu_item’)

当然如果网站使用了自定义文章类型,那么就是自定义的名称了。
等空了我把这些逻辑写一写。

返回顶部