おそらく実行したいいくつかのステップがありますが、そのほとんどは、wordpressが独自の内部更新を処理する方法から簡単に借りることができます。
管理ページが読み込まれるたびに実行するのではなく、独自のバージョンの_maybe_update_plugins()を作成し、時間間隔(おそらく1日1回程度)でチェックするようにします。
'wp-admin / contains / class-wp- upgrader.php 'のWordPressWP_Upgraderクラス(プラグインに含める必要があると思います)は、やりたいことを実行します。wp-admin / update.phpを見て、注意深く行わないと巨大なセキュリティホールが発生する可能性があるため、ここでセキュリティ対策を非常に厳密にエミュレートするようにしてください。
通知を整理し、プロセスが安全であることを確認したら、プラグインの新しいバージョンのURLを以下のコードに「$download_link」として渡すのと同じくらい簡単です。
$upgrader = new WP_Upgrader;
$upgrader->run(array(
'package' => '', //this should be the name of your plugin
'destination' => '', //this should be defined to the directory you want to install the plugin to
'clear_destination' => false, //set this if you want to remove the old version first
'clear_working' => true, //change this if you want to leave a copy of the zip file
'is_multi' => false, //only change this if you're calling the function multiple times
));
それでもうまくいかない場合(テストする時間や動機がない場合)、WP_Upgraderクラスをもう少し掘り下げて、ファイルをダウンロードおよび抽出するための関数を借用します。