WordPress禁用文章自动保存和修订功能的最新方法汇总

WordPress禁用文章自动保存和修订功能的最新方法汇总,第1张

WordPress禁用文章自动保存和修订功能的最新方法汇总

wordpress有个文章自动保存和修订记录的功能。


在编辑文章时,默认情况下WordPress每隔 60 秒会将你所编辑的文章自动保存一下,这样无论是你的浏览器崩溃亦或是电脑故障关机等其他情况都不用担心编辑的文章内容丢失。


对于文章修订记录功能的话,WordPress会保存你每次修改的记录在数据库中,当然一般情况下,你也可以在文章编辑页面看到如下所示的修改记录。


由于文章修订与自动保存的干预,往往会使得文章的ID越来越大,就截止我发布这篇文章为止文章 ID 已经达到了 1009 了,而我实际发布的文章也才742篇;而且过多的文章修订记录对于数据库优化来说似乎也不是一件好事,所以说最终决定禁用文章修订与自动保存功能,虽然并不能彻底解决问题,但多少会有所缓解。


网上关于禁用文章修订与自动保存功能的实现方式很多,但真说起来也是大同小异,我自己查阅了些 WordPress 的官方文档并结合网上自认为不错的代码整理了一下,大致如下:

方法一 修改 WordPress 配置文件 wp-config.php

找到站点根目录下面的 wp-config.php 文件,在“define(‘WP_DEBUG’, false);”后边添加如下代码即可:

/** 禁用文章修订功能 */

define('WP_POST_REVISIONS', false);

/** 禁用自动保存功能 */

define('AUTOSAVE_INTERVAL', false);

通过上述代码我们直接将文章修改与自动保存功能禁用掉了,对于一些其他朋友可能仍希望保留最近几个版本的修订记录以免由于误 *** 作导致文章不可恢复,这样的话我们直接将 false 修改为具体的正整数即可,比如下面这样:

/** 保留最新 5 次的修订记录 */

define('WP_POST_REVISIONS', 5);

/** 每隔 360s 自动保存一次 */

define('AUTOSAVE_INTERVAL', 360);

我自己使用的就是这种方法,具体代码如下:

//自动保存10小时一次

define('AUTOSAVE_INTERVAL', 36000);

//禁用修订版本

define('WP_POST_REVISIONS',false);

方法二 修改自用主题下函数文件 functions.php

一般情况下我们直接修改 wp-config.php 即可实现禁用文章修订与自动保存功能了,但是对于一些主题中如果希望增加一个自定义启用或禁用文章修订选项的话,我们可以尝试修改主题的 functions.php 文件并在主题选项里配置上对应的选项。


关于如何在主题的 functions.php 文件中增加此功能,可以参考如下代码:

/** 禁用自动保存 */

add_action('wp_print_scripts', 'qgg_not_autosave');

function qgg_not_autosave() {

    wp_deregister_script('autosave');

}

/** 禁用文章修订 */

add_filter( 'wp_revisions_to_keep', 'qgg_wp_revisions_to_keep', 10, 2 );

function qgg_wp_revisions_to_keep( $num$post ) {

    return 0;

}

同样的,如果你想设置文章修订版本的保留数,可以使用如下代码:

//设置指定文章类型( my_custom_post )保留最近 5 次的修订版本

add_filter( 'wp_revisions_to_keep', 'qgg_wp_revisions_to_keep', 10, 2 );

function qgg_wp_revisions_to_keep( $num$post ) {

    if ( 'my_custom_post' == $post->post_type ) {

        $num = 5;

    }

    return $num;

}

该函数的相关文件,大家可以简单查看下程序 wp-includes 文件夹下的 revision.php 文件以及 wp-includes/js 文件夹下的 autosave.js 文件。


关于自动草稿

题外话就是,除了自动保存和修订版本,WordPress还有一个非常讨厌的功能就是自动草稿。


其实在很长一段时间内,笔者分不清自动草稿和自动保存的区别,简单的讲自动保存是你在写文章的时候,系统会根据时间间隔自动对文章进行备份并写入数据库;而自动草稿是当你点击“写文章”那一刻起,一个新的数据已经写入数据库,不管你后面是否有录入内容,哪怕是你退出编辑器。


关于自动草稿功能的禁用,目前并没有简单有效的函数代码可用,如需禁用需要修改WordPress程序本身,这个略显麻烦,本文暂且不表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/575857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-10
下一篇 2022-04-10

发表评论

登录后才能评论

评论列表(0条)

保存