你可以继续option_update_core
并编辑更新url,作为一个插件,您可以这样做(记住在更新wordpress后禁用插件)
add_filter(\'option_update_core\',\'wpse_26750\');
add_filter(\'transient_update_core\',\'wpse_26750\');
function wpse_26750($options){
global $wp_version;
$updates=array(
\'2.5\'=>\'http://wordpress.org/wordpress-2.5.zip\',
\'2.7.1\'=>\'http://wordpress.org/wordpress-2.7.1.zip\',
\'2.8\'=>\'http://wordpress.org/wordpress-2.8.zip\',
\'2.8.1\'=>\'http://wordpress.org/wordpress-2.8.1.zip\',
\'2.8.3\'=>\'http://wordpress.org/wordpress-2.8.3.zip\',
);
$currentUpdate=$options->updates[0];
//Add Previous updates skipping the ones already passed
foreach($updates as $version=>$updateUrl){
if( version_compare($wp_version,$version) < 0){
$update=new StdClass();
$update->response=\'upgrade\';
$update->url=\'http://wordpress.org/download/\';
$update->package=$updateUrl;
$update->current=$version;
$update->locale=$options->updates[0]->locale;
$options->updates[]=$update;
}
}
unset($options->updates[0]);
//Restore latest update
$options->updates[]=$currentUpdate;
return $options;
}
从2.8开始,您还需要
transient_update_core
像
get_transient
使用而不是
get_option
此外,这里还有版本检查,因此不会显示低于自身的版本。唯一的(?少校?)问题是需要手动添加版本列表。