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

#1 楼

自动更新是自动的。

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

用户界面。要更改行为,您需要修改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' );


主题和插件

全或-没有任何自动更新主题和插件:

主题和插件更新默认情况下处于禁用状态。要启用筛选器,请执行以下操作:

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 );


进一步阅读

此处输入法典。更多信息在这里。

评论


我认为您可以按照Nacin的评论针对单个主题/插件更新执行此操作,“以前的配置选项为全有或全无。但是,您可能需要更细粒度的内容。auto_update_ $ type类型的过滤器(auto_update_core,auto_update_plugin, auto_update_theme,auto_update_translation)会针对特定更新而触发,因为它们已准备好进行更新。此过滤器传递了描述WordPress将要更新的实际更新对象(这意味着您可以有选择地启用单个插件或主题进行更新) ,或将即将发布的核心更新列入白名单。”

–pollyplummer
13-10-25在17:12



@pollyplummer一定要把这个信息添加到答案中!那是好东西。 :)

–芯片Bennett
13-10-25在17:17

@brasofilo“在“轻松更新”部分中,它是否应该为“或添加以下过滤器”? -不符合食品法典。建议同时使用。

–芯片Bennett
13-10-25在17:52

如果我正确地遵循了核心逻辑,它将首先通过过滤器,然后通过常量。如果是这样,我们应该用“或”更新食典条目。我还看到DISALLOW_FILE_MODS停止任何类型的更新。

–brasofilo
13-10-25在18:12



@Howdy_McGee我刚刚发布了有关如何排除某些插件的指南。另外,Wordpress中的更新页面会告诉您是否启用了自动更新。如果未提及自动更新,请使用此插件来了解为什么禁用自动更新。

–大卫
2014年1月28日在3:26



#2 楼

您可以使用Background Update Tester插件检查您的站点和服务器配置是否支持自动更新。来自Nacin:“此插件检查您网站的兼容性并解释所有问题。”

评论


自2015年以来未更新,wordpress的时间约为4.1。

– Kubanczyk
18年1月6日在13:17