gpt4 book ai didi

wordpress - 插件在 WordPress 自动更新后被停用

转载 作者:行者123 更新时间:2023-12-04 03:15:22 32 4
gpt4 key购买 nike

当我使用 wp_maybe_auto_update() 函数手动触发 WordPress 自动更新时,自动更新过程完成后插件将被停用。

最佳答案

我遇到了同样的问题,深入研究代码揭示了原因。

Automatic_Upgrader 使用Plugin_Upgrader 来更新插件。插件升级程序有一个方法,deactivate_plugin_before_upgrade(),用于在升级前停用插件,但仅限于特定情况。它包含这些行:

    // When in cron (background updates) don't deactivate the plugin, as we require a browser to reactivate it
if ( wp_doing_cron() )
return $return;

因此,当更新由 cron 作业运行时,插件不会停用。自动更新通常是通过 cron 运行的,因此代码假设它们始终如此。如果自动更新在 cron 之外触发(如您手动调用 wp_maybe_auto_update() 时),则插件将停用,但不会自动重新激活。

一种解决方案是通过在调用 wp_maybe_auto_update() 之前连接到 'wp_doing_cron' 过滤器来诱使升级程序认为 cron 正在运行:

add_filter( 'wp_doing_cron', '__return_true' );
wp_maybe_auto_update();
remove_filter( 'wp_doing_cron', '__return_true' );

关于wordpress - 插件在 WordPress 自动更新后被停用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541968/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com