WordPressの自作テーマやプラグインに更新通知(アップデート通知)を付ける

WordPressの公式ディレクトリに登録をしていない、自作テーマやプラグインに更新通知(アップデート通知)を追加してみます。すでに世の中に素敵なライブラリがあるので、実装はびっくりするほど簡単でした。

あの有名なテーマやアフィリエイト向けプラグインも、この方法で更新通知(アップデート通知)を出すようにしていますので、今回の方法はそれと同じ仕組みを利用しています。

この「1」という通知を出したい!

プラグイン自体の作成方法については、以下の記事を先に見てくださいね。

目次

手順

以下の通りに進めていきましょう。

STEP
GitHubから更新通知(アップデート通知)を実装するライブラリをダウンロードして、作成したテーマやプラグインに含める。

GitHubから更新通知(アップデート通知)を実装するためのライブラリ「Plugin Update Checker」をダウンロードしてきます。

ライセンスはMITライセンスです。

GitHubリポジトリのCode>Download ZIPでOK!

plugin-update-checker-master.zipというファイルがダウンロードできますので、ダウンロードしたファイルを解凍(展開)し、展開したファイル一式をフォルダごと、作成したテーマやプラグインのフォルダ内に含めます。フォルダ名は適当に変更していただいてOKです。

フォルダ名はupdaterなどと変更してOK!

ライブラリ自体の総容量は、2021年3月18日時点で366KBです。

STEP
テーマやプラグインのPHPファイルに以下のコードを追記する。

テーマのfunctios.php、またはプラグインのPHPファイル(たとえばプラグインのフォルダ名がmy-pluginであれば、my-plugin.php)に以下のコードを追記します。

//更新の確認
require 'updater/plugin-update-checker.php';
$ExampleUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
	'https://tecchan.jp/wp-update/my-plugin-version.json',
	__FILE__,
	'my-plugin'
);

上記は、先程のように展開したファイル一式のフォルダ名をupdatorに変更した場合の方法です。設定したフォルダ名に合わせて、適宜requireから始まる行のパスを変更してください。

また、4行目のURLは、STEP3で自分がテーマやプラグインを配布するレンタルサーバーなどに配置するJSONファイルを設置する場所を指定します。間違えないようにしましょう。

6行目の'my-plugin'は、テーマもしくはプラグインの名前(一意な文字列)を付けます。

STEP
JSONファイルをテーマやプラグインを配布するレンタルサーバーなどに設置する

テーマやプラグインを配布するときに、ダウンロードファイルを設置するURLを決めると思いますが、それとは別にテーマやプラグインの更新通知(アップデート通知)を出すためのJSONファイルを設置します。ファイルの拡張子は.jsonにします。

{
    "name": "my-plugin",
    "version": "1.1.0",
    "download_url": "https://tecchan.jp/wp-files/my-plugin.zip"
}

順番に、テーマ・プラグイン名バージョンテーマ・プラグインのダウンロードURL(ダウンロードファイルのありか)を記載していきます。

ここで設置されたJSONファイルと、プラグインのPHPファイルやテーマのstyle.cssに記載されたバージョンとを比べて、「更新があるかどうか」をチェックしています。

JSONファイルとstyle.cssに記述されたバージョン情報が同じであれば、更新通知は行われません。style.cssに記述されたバージョン情報よりもJSONファイルに記述されたバージョン情報が新しくなることで、更新通知が行われます。

STEP
実際に更新通知(アップデート通知)が出るかどうかを試してみましょう

実際に更新通知(アップデート通知)が出るかどうかを試してみましょう。WordPress管理画面には、以下のように更新ありの数が記載され、

プラグインやテーマの一覧には、以下のように「更新がある」旨が表示されるはずです。

これで上手くいきました。

注意点

公式ディレクトリに登録しているものとの違いがあり、テーマの場合もプラグインの場合もそれ自体にバージョンアップ版があるかどうかを調べるライブラリを追加するため、有効化しているときにしか更新通知がされません(公式ディレクトリに登録しているものは、無効化しているテーマやプラグインにも更新通知が届きます)。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

WordPress・EC周りをいじるフリーランス。ずっと自作PCを作り続け、外ではSurface使いです。30代・埼玉県民。WordPressテーマ「SWELL」ユーザー。このブログでは、サイト・ブログのカスタマイズ方法などを発信します。

目次