WordPressプラグインを開発する際、GitHubでプラグインを管理し、インストールしたユーザーにのみアップデート通知を送りたいケースがあります。今回は、GitHubでプライベートリポジトリを使い、WordPressプラグインのテストとバージョンアップの仕組みを導入する方法を紹介します。
1. プラグインのバージョン管理
プラグインのバージョンは、WordPressが提供するプラグインのヘッダー部分で管理します。まず、プラグインのファイルにバージョン情報を正しく設定する必要があります。例として、以下のように記述します:
/*
Plugin Name: Your Plugin Name
Version: 1.0.0
Description: プラグインの簡単な説明
Author: あなたの名前
*/
次にバージョンが更新された際には、Version
の値を新しいものに変更します(例:Version: 1.1.0
)。
2. バージョンアップの仕組み
プラグインがアップデートされた際に、データベースやファイルの変更を反映させる必要があります。以下のステップで、バージョンアップを行うプロセスを実装します。
2.1 現在のバージョンの保存
プラグインの有効化時に現在のバージョンを保存します。以下のコードで、WordPressのwp_options
テーブルにバージョン情報を記録します。
function your_plugin_activate() {
$version = '1.0.0'; // 現在のプラグインバージョン
update_option('your_plugin_version', $version);
}
register_activation_hook(__FILE__, 'your_plugin_activate');
2.2 バージョンアップ時の処理
プラグインが更新された際に、新しいバージョンに対応した処理を行います。
function your_plugin_update_check() {
$current_version = get_option('your_plugin_version');
$new_version = '1.1.0'; // 新しいバージョン
if (version_compare($current_version, $new_version, '<')) {
// アップデート処理
your_plugin_update_process($current_version, $new_version);
// バージョンを更新
update_option('your_plugin_version', $new_version);
}
}
function your_plugin_update_process($current_version, $new_version) {
if (version_compare($current_version, '1.1.0', '<')) {
// 1.1.0へのアップデート処理(例:データベースの更新)
}
}
add_action('plugins_loaded', 'your_plugin_update_check');
3. GitHubでプラグインを管理する
プライベートなGitHubリポジトリにプラグインをホストし、バージョンアップの際にリリースを管理します。WordPressからプラグインを更新できるようにするためには、GitHub Updater
というプラグインを利用するのが便利です。手順は以下の通りです。
3.1 GitHub Updaterプラグインの利用
プラグインに自動更新機能を追加するため、GitHub Updaterのサポートを組み込みます。以下のようにプラグインのヘッダーにGitHub情報を追加します:
/*
Plugin Name: Simple Version Plugin
Plugin URI: https://your-website.com
Version: 1.0.0
Author: Your Name
GitHub Plugin URI: https://github.com/your-username/simple-version-plugin
GitHub Access Token: your-github-personal-access-token
*/
3.2 GitHub APIトークンの設定
GitHubのプライベートリポジトリにアクセスするためには、GitHubのAPIトークンが必要です。GitHubでPersonal Access Tokenを作成し、プラグイン内でそのトークンを設定します。
4. アップデート通知の実装
GitHub Updaterプラグインが有効化されると、WordPressはGitHubリポジトリのバージョンと、インストール済みのプラグインバージョンを比較します。新しいバージョンがリリースされている場合、WordPressのダッシュボードにアップデート通知が表示されます。この通知はプラグインをインストールしているユーザーにのみ表示され、他のユーザーには通知されません。
5. テストの流れ
- プラグインをGitHubにプッシュし、リリースを作成。
- WordPressの管理画面に戻り、更新通知が表示されることを確認。
- 更新後、プラグインが正しく機能しているか確認(例:バージョン情報が正しく表示されるか、データベース更新が適用されたかなど)。
これで、GitHubで管理するプライベートWordPressプラグインのテストとバージョンアップの設定が完了です。