プログラミング

plugin-update-checker を使って WordPress のテーマに自動更新機能を実装する

投稿日:2018年1月26日 更新日:

1. はじめに

plugin-update-checker を使うと、WordPress の 公式なテーマ ではないテーマに更新通知機能を実装することができます(プラグインとテーマのどちらでも利用できます)。

YahnisElsts/plugin-update-checker
https://github.com/YahnisElsts/plugin-update-checker/

このツールを使うと、WordPress の公式レポジトリにないプラグインまたはテーマに自動更新機能を実装することができます。

今回は、テーマに対して plugin-update-checker を利用する手順について説明します。

基本的には、YahnisElsts/plugin-update-checker に書いてある内容になります。

2. テーマディレクトリに対する準備作業

  1. Releases · YahnisElsts/plugin-update-checker から、最新版をダウンロードして解凍します。
  2. 解凍してできた plugin-update-checker ディレクトリを、テーマのディレクトリにコピーします。
  3. functions.php に以下を記述します。
require get_template_directory() . '/plugin-update-checker/plugin-update-checker.php';
$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
    'http://example.com/path/to/theme.json', // (A)
    __FILE__,
    'my-theme-slug' // (B)
);

(A) のところで、更新情報を記述する JSONファイルのURLを指定しています(以後、更新情報ファイルと呼びます)。このファイルは後で作成しますが、Webでアクセスできるところに配置します。
(B) では、テーマを表す一意な文字列を指定します。

以上の変更を加えた状態のテーマを、WordPress に導入します。

3. テーマを更新する手順

3-1. テーマ提供者側

  1. 何かしらテーマの内容が更新されたとします。
  2. style.css 内の「Version」番号を更新します。
    (省略)
    Description:
    Version: 2.0.0
    License: GNU GPL version 2
    (省略)
    
  3. テーマのディレクトリを zip で圧縮し、そのファイルをWebでアクセス可能なところに設置します。(C)

  4. 更新情報に関する詳細説明のHTMLファイルを、Webでアクセス可能なところに設置します。(D)
  5. 更新情報ファイルを Webでアクセス可能なところに設置します(さきほど (A) で指定したファイルです)。

    • この中に、圧縮ファイルのURL (C) と詳細説明ページのURL (D) を記述します。
    • 以下は更新情報ファイルの記述例です。
    {
        "version": "2.0",
        "details_url": "http://example.com/version-2.0-details.html", // (D)
        "download_url": "http://example.com/my-theme-2.0.zip"  // (C)
    }
    

3-2. 利用者側

  • この時点で、テーマ利用者は更新情報を受け取ることができます。
  • 12時間毎に更新チェックが実行されます。
  • 手動ですぐ更新したい場合は以下を実行します。
    1. Debug Bar というプラグインを導入します。
    2. 管理ツールバー上の “Debug” menu をクリックします。
    3. “PUC (your-slug)” を開きます。
    4. “Check Now” ボタンをクリックします。
      • この操作により、更新が検知されるはずです。
Debug Bar の利用について

  • Debug Bar プラグインは現時点(2018年1月)で8ヶ月更新されていません。
  • plugin-update-checker は、Debug Bar プラグインを利用して一部の機能を追加しているようです。

4. おわりに

WordPress が持つテーマ(プラグイン)更新機能は、一時的にサイトをメンテナンスモードにして更新してくれたり、何かファイルに問題があればエラーを出して更新処理を中止してくれたりと、自分でファイルを上書きして更新するより安全です。ですので、公式でないテーマ(やプラグイン)であっても、今回の方法を使って自動更新することのメリットは大きいと思います。

📂-プログラミング
-,

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

フレームレートを指定して Canvas に描画するサンプルページを作りました

フレームレートを指定して Canvas に描画するサンプルページを作りました。 目次1. スクリーンショット2. デモ3. 説明4. ソースコード 1. スクリーンショット スクリーンショット 2. …

React Redux

React + Redux を1つのJavaScriptファイル内で使うサンプル

目次1. はじめに2. デモページ3. 画面4. JavaScript のコード(全文)5. 解説1. Action (Action Creator)adddionActionclearAdditio …

Web Programming

Service Worker の状態変化を検証するためのウェブページを作りました

Service Worker の状態変化を検証するためのウェブページを作りました。

web development

Web Development for Beginners を読む:レッスン18, 19, 20

目次1. はじめに2. Part 4: レーザーと衝突検知を追加する(1) 衝突検知のための「オブジェクトの四角形表現を返す関数」を用意する(2) 衝突検知の判定関数を追加する(3) レーザー発射機能 …

Redux

Redux の非同期処理サンプルページを作りました

Redux で非同期処理を行うサンプルページを作りました。 目次1. スクリーンショット2. デモページ3. 動作4. ソースコード5. 参考情報 1. スクリーンショット スクリーンショット 2. …