野良WordPressテーマにも公式のような更新通知機能をつけるカスタマイズ方法

WordPressの公式ディレクトリに登録されているテーマには、更新通知機能があります。

更新通知機能というのは、バージョンアップがあるたびにテーマ画面で以下のような通知が届く機能です。

更新通知機能

その上、更新画面から更新すると、テーマが自動的に上書きされアップデートされます。

以前、この機能が便利そうなので、テーマを公式ディレクトリに登録できるのか調べてみたところ、「見た目をつかさどる機能以外が余分についているテーマ」は、登録できないことを知りました。

先日、自作のWPテーマをWP公式ディレクトリに登録出来ればと、登録方法を調べてみました。公式ディレクトリとは、Wordpre...

それから、更新通知機能を付けることは諦めていたのですが、先日フォーラムで、野良テーマでも通知機能を取り付けられることを教えてもらいました。

そこで、その方法をやってみたら、思った以上に簡単に実装することができたので、そのカスタマイズ方法を紹介です。

photo by Brian Fitzgerald

スポンサーリンク
レクタングル(大)広告

主な手順

自作のテーマに更新通知機能&アップデート機能をつける主な手順は以下の3手順です。

  1. ライブラリのダウンロードと設置
  2. 更新情報となるJSONファイルを作成
  3. functions.phpにコードを記述

「更新通知機能を実装」というだけで、かなり難しいものを想像していたのですが、ライブラリがとても扱いやすいものになっています。

ですので、Wordpressコードの編集に慣れている方ならば、10分ほどでできるほど簡単な方法です。

ライブラリのダウンロードと設置

まずは、更新通知機能のライブラリをダウンロードします。

ダウンロードは、Automatic Updates For Private And Commercial Themesの「Client library」リンクから行ってください。

Wordpress更新通知機能のライブラリ

ダウンロードすると「theme-updates.zip」というファイルになります。

解凍すると中には「theme-update-checker.php」というファイルだけが入っているので、これをテーマディレクトリ直下にコピペします。

ファイルの設置はこれだけです。

更新情報となるJSONファイルを作成

次に、更新通知の情報元となるJSONファイルを作成し、パブリックなサーバーに設置します。

JSONファイルの作成

まずは、新しいファイルを作成して「update-info.json」とでも名前をつけてください。

作成したファイルを、エディターなどで開いて更新情報を記述します。

JSONファイルの中身は以下のように書きます。

{
  "version" : "2.0",
  "details_url" : "http://example.com/example-theme/details.html",
  "download_url" : "http://examle.com/example-theme/example-theme.zip"
}

2行目(version)には、テーマのバージョンを記述します。

このバージョンが現在のバージョンより上がっていれば、ライブラリが最新テーマがあることを感知して、更新情報が通知されます。

3行目(details_url)には、更新情報が書かれたページのURLなどを記述します。

ブログなどの更新情報を書いたページのURLなどを記述しておけば良いと思います。

ここに設定されたURLは、更新通知情報の以下の部分で活用されます。

更新の詳細情報

4行目(download_url)には、バージョンアップしたテーマファイルのURLを記述します。

JSONファイルをサーバーに設置

あとは、作成した「update-info.json」ファイルをパブリックなサーバーにアップロードしておきます。

ここで設置した場所のURLをメモっておいてください。

functions.phpにコードを記述

最後に、functions.phpに、ちょろっとコードを記述します。

記述するコード例は以下です。

//アップデートチェックの初期化
require 'theme-update-checker.php'; //ライブラリのパス
$example_update_checker = new ThemeUpdateChecker(
'example-theme', //テーマフォルダ名
'http://example.com/example-theme/update-info.json' //JSONファイルのURL
);

これまで、やってきた通りの手順であれば、4行目と5行目を変更するだけで良いと思います。

4行目の、テーマフォルダ名は、あなたのテーマがWordpressのthemesフォルダ内にある時のフォルダ名を記述します。

5行目の、JSONファイルのURLは、先程サーバーのパブリックな場所にアップロードしたJSONファイルのURLを記述します。

これで、更新通知&アップデート機能が実装されました。簡単ですね。

参考 WordPressのオリジナルテーマ(プラグイン)を公式ディレクトリ以外から配信する方法

動作確認

あとは、Wordpress管理画面の「外観→テーマ」などから動作を確認します。

以下のような、更新通知が来ていたらOKです。

更新通知がきてたらOK

ただ、テーマの更新情報はすぐには反映されないこともあります。

そういった場合は、「ダッシュボード→更新」などを開いて「もう一度確認する」ボタンなどをクリックしてみてください。

もう一度確認する

更新ページのテーマアップデート情報に自作テーマが反映されていれば、正常動作しています。

テーマアップデート情報

あとは、テーマを選択して「テーマの更新」ボタンを押せば、自動で上書きアップデートされます。

まとめ

自作テーマに更新通知機能をつけるには、「Wordpress公式ディレクトリに登録する」か「難しいコードを長々と書く必要がある」と考えていました。

けれど、これほど簡単なカスタマイズで実装できるとは思っていませんでした。このように簡単にできるのも、ほとんどライブラリのおかげです。

ライブラリのページには、さらなる詳細情報、デモテーマ、設定例となるJSONファイルも掲載されているので参考にしてみてください。

あと、野良プラグイン用のライブラリもあります。

Automatic Updates For Private And Commercial Plugins

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

スポンサーリンク

『野良WordPressテーマにも公式のような更新通知機能をつけるカスタマイズ方法』へのコメント

  1. 名前:がちょぴん 投稿日:2014/12/21(日) 22:49:19 ID:4041f3195

    テーマ更新通知実装おめでとうございます!
    一生懸命情報収集して大変良かったです。

  2. アバター画像 名前:わいひら 投稿日:2014/12/22(月) 17:57:39 ID:4be5a871e

    ありがとうございます!
    こんなに簡単にできるものとは思っていませんでした。