问题描述

WordPress 3.7 添加了自动更新。这是如何工作的,如何配置此功能?

最佳解决方案

自动更新是自动的。

WordPress 3.7 中的基本默认行为是对次要版本 (即 X.Y.ZX.Y.Z+1) 的内核的自动更新。

没有配置选项在 UI 中公开。要更改行为,您需要修改 wp-config.php 文件,或添加一些过滤器:

轻松禁用

将以下内容添加到 wp_config.php 中:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

或者,添加以下过滤器:

add_filter( 'automatic_updater_disabled', '__return_true' );

核心更新控制

通过 wp-config.php

// Update core - development, major, and minor versions
define( 'WP_AUTO_UPDATE_CORE', true );

// Update core - minor versions
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

// Core update disabled
define( 'WP_AUTO_UPDATE_CORE', false );

通过过滤器

// Enable nightlies (dev updates):
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

// Enable major version updates:
add_filter( 'allow_major_auto_core_updates', '__return_true' );

// Disable minor updates
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

主题和插件

All-or-Nothing Auto-Update 主题和插件:

默认情况下禁用主题和插件更新。通过 vilter 启用:

add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );

这些过滤器通过更新对象; 所以有可能操纵该对象来定位要更新的特定主题或插件,要么将自动更新列入白名单 (包括) 或排除。

翻译文件

默认情况下启用翻译文件更新。通过过滤器禁用

// Disable translation updates
add_filter( 'auto_update_translation', '__return_false' );

更新结果电子邮件

更新程序发送成功,失败或严重错误的结果电子邮件。通过过滤器禁用

// Disable update emails
add_filter( 'auto_core_update_send_email', '__return_false' );

此过滤器还可用于根据电子邮件 $type(成功,失败,关键),更新类型对象 $core_update$result 操作更新电子邮件:

/* @param bool   $send        Whether to send the email. Default true.
 * @param string $type        The type of email to send.
 *                            Can be one of 'success', 'fail', 'critical'.
 * @param object $core_update The update offer that was attempted.
 * @param mixed  $result      The result for the core update. Can be WP_Error.
 */
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );

进一步阅读

食品进口 here 。更多信息 here

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。