好的,在深入研究WP源几个小时后,找到了一个解决方法。只需告诉wordpress不要删除旧文件。现在,文件被100%覆盖,缓存的文件得到维护。
代码非常简单
add_filter(\'upgrader_package_options\', \'avoid_deletion\', 999);
function avoid_deletion($options) {
if($options[\'hook_extra\'][\'plugin\'] == \'my-plugin/my-plugin.php\') {
$options["clear_destination"] = false;
$options["abort_if_destination_exists"] = false;
}
return $options;
}
我最近会写一个可选的方法来删除单个文件夹/文件,以防万一。