问题描述
WordPress 3.7 添加了自动更新。这是如何工作的,如何配置此功能?
最佳解决方案
自动更新是自动的。
WordPress 3.7 中的基本默认行为是对次要版本 (即 X.Y.Z
至 X.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 );
进一步阅读
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。