【WordPress】GitHubリポジトリにコミットしたプラグインを自動更新可能にする

【WordPress】GitHubリポジトリにコミットしたプラグインを自動更新可能にする

WordPress

自作のプラグイの更新を管理したい!そんな方にはPlugin Update Checkerが便利です。今回はその使い方をまとめました。

この記事を書いた人

かみーゆ/フロントエンドエンジニア

資金ゼロからフィリピンで起業した海外ノマドエンジニア。IT業界10年以上でテクニカルディレクター(技術責任者)・エンジニア講師・ブリッジSEを経てLenzTechnologies Inc.を設立し、代表を務める。CMS concreteCMSエバンジェリスト。テックブログ以外も「磨耗しない人生」や「海外ノマド」のライフスタイルについて発信。好きなものは肉とハイボール。

この記事の対象者

  • 自作したプラグインの更新を一限管理したい
  • GitHubでプラグインを管理したい
  • 自作したプラグインを自動更新できるようにしたい
かみーゆ
かみーゆ

GitHubにリポジトリに自作したWordPressプラグインの更新を通知させたり自動更新可能にする方法を紹介します。

※ プラグインを作ることができて、GitHubアカウントを開設していることが前提条件です。
※ この記事は不十分なため追記予定です。

めっちゃカンタンなプラグインの作り方はこちらになります。

WordPress で自作した機能を plugin 化してまとめると幸せになれた

WordPress のfunctions.php に書いていく、自作した機能をプラグインごとにまとめたらめちゃめちゃ便利...

Plugin Update CheckerをGitHubからダウンロード

まずはPlugin Update CheckerをGitHubからダウンロード。 Plugin Update Checker

Plugin Update Checker

the latest releaseから、Assetsが2つあるのでいずれかをDLします。

本日時点での最新は4.11(5月16日更新)でした。

Plugin Update Checker

今回は仮にmy-pluginというフォルダー内にプラグインを作っていきます。

/my-plugin
  ├ my-plugin.php
  ├ plugin-update-checker/ //Plugin Update CheckerのAssetsを解凍して格納しておく
  └ readme.txt

my-plugin.phpがこのプラグインの起点となるとファイルになります。

plugin-update-checker/内に格納したplugin-update-checker.phpを読み込みます。

require 'plugin-update-checker/plugin-update-checker.php'; // 「Plugin Update Checker」をインクルード

$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
	'https://github.com/【アカウント名】/【リポジトリー名】',
	__FILE__,//書き換える必要なしこの場合my-plugin.phpのフルパスが取得できます。
	'my-plugin'//プラグインのスラッグ
);

同期したいブランチを指定します。

$myUpdateChecker->setBranch( 'main' );

これで指定したブランチにプッシュしたら、プラグイン側にも通知が来るようになります。

Plugin Update Checker
Plugin Update Checker

Plugin Update Checker公式ページに以下が書いてあります。

readme.txtを追加しておきましょう。

the WordPress.org plugin readme standard

Plugins only: Add a readme.txt file formatted according to the WordPress.org plugin readme standard to your repository. The contents of this file will be shown when the user clicks the “View version 1.2.3 details” link.
プラグインのみ:WordPress.orgプラグインのreadme標準に従ってフォーマットされたreadme.txtファイルをリポジトリに追加してください。このファイルの内容は、ユーザーが「バージョン1.2.3の詳細を表示」リンクをクリックすると表示されます。

プライベートリポジトリを更新対象としたい場合は一手間必要です。

アクセストークンを取得し、以下コードを追加。

$myUpdateChecker->setAuthentication('your-token-here');
※ アクセストークンの設定の仕方は後日追記します。

Assetsも自動更新にしたい

以下コードもを追記しておきます。

$myUpdateChecker->getVcsApi()->enableReleaseAssets();

ガイドラインに違反?不安に思った方のために補足します

公式WordPressサイトにPlugin Update Checkerに関する記事が見つかりました。

『WordPress.org 以外から配布したものに更新する機能』はマーケットプレースに出品するプラグインとしてはNGのようです。

Update機能はあくまで公式WordPressのマーケットプレースに出さない、自作プラグイン用として使うのがよさそうです。

ガイドライン違反について

まとめ・自作プラグインの更新をまとめて管理できて便利

あくまで自作テーマやプラグインのアップデーターですが、バグや更新を一括でできるのはとても便利ですね。

この記事が、みなさんのコーディングライフの一助となれば幸いです。

最後までお読みいただきありがとうございました。