WordPress 后台自动更新详解和设置

2023-04-15 11:08:15 浏览数 (1)

WordPress 3.7 发布,其中一个最重大的功能就是 WordPress 可以后台自动更新了,无需人工介入。为了更好安全性和并且使得这个更新的过程更流畅,在默认情况下,只有小版本更新(比如安全和维护更新)以及翻译文件更新才被开启。

实际上 WordPress 后台自动更新功能有以下四种类型的更新:

  • 核心文件更新
  • 插件更新
  • 主题更新
  • 翻译文件更新

核心更新

核心文件更新被分成三种模式:

  • 核心开发更新模式,就是所说的“前沿(bleeding edge)”,这个模式下,你的 WordPress 是和开发版本同步的。这个不建议,除非你是 WordPress 极度爱好和尝鲜者。
  • 小版本核心更新模式,一般是安全和维护版本发布,比如 3.7 更新到 3.7.1。
  • 大版本核心更新模式,比如,3.7 更新 3.8。

默认,自动更新只开启了更新小版本发布和翻译文件。那么如何设置更新模式呢?我们可以通过定义常量或者过滤器来处理:

WP_AUTO_UPDATE_CORE

可以通过在 wp-config.php 文件中定义常量 WP_AUTO_UPDATE_CORE 下面三种值来设置不同更新模式:

  • true – 开发版,小更新,大更新都会自动更新。
  • false – 开发版,小更新,大更新都会自动更新。
  • minor – 只有小版本更新才会自动更新。

过滤器(Filters)

除了开启或者关闭所有三种的核心更新模式之外,如果你想单独开启某种或者关闭它们,我们可以用到这几个 filter:allow_dev_auto_core_updates, allow_minor_auto_core_updates, 以及 allow_major_auto_core_updates

这里有两个 WordPress 内置的函数 __return_true__return_false 会用来设置开启和关闭。

开启开发更新模式,和开发版本同步:

代码语言:javascript复制
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

关闭小版本更新:

代码语言:javascript复制
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

开启大版本更新:

代码语言:javascript复制
add_filter( 'allow_major_auto_core_updates', '__return_true' );

插件和主题更新

插件和主题自动更新在默认是关闭的,可以通过 auto_update_type 这个 filter 去开启它们,其中 type 可能是 "plugin" 或者 "theme".

开启插件自动更新:

代码语言:javascript复制
add_filter( 'auto_update_plugin', '__return_true' );

开启主题自动更新:

代码语言:javascript复制
add_filter( 'auto_update_theme', '__return_true' );

翻译更新

翻译更新默认是开启的,如果要关闭:

代码语言:javascript复制
add_filter( 'auto_update_translation', '__return_false' );

关闭自动更新

WordPress 后台自动更新功能很贴心,保证网站的代码实时最新,但是很多人感觉我的网站我做主,不希望自动更新,WordPress 也是提供了选项:

关闭核心文件更新

也是使用 auto_update_type 这个 filter,不过这时 type 应该是“core”,所以关闭核心更新:

代码语言:javascript复制
add_filter( 'auto_update_core', '__return_false' );

关闭所有更新

两种方法:

1. 在 wp-config.php 添加如下常量:

代码语言:javascript复制
define( 'AUTOMATIC_UPDATER_DISABLED', true );

2. 或者使用下面的 filter:

代码语言:javascript复制
add_filter( 'automatic_updater_disabled', '__return_true' );

0 人点赞