プログラミング

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

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

関連記事

Babel とは?

目次1. Babel とは?2. JavaScript のバージョン3. プラグイン (plugins)4. プリセット (preset)5. 基本的な使い方6. Babel のイメージ 1. Bab …

Web Components

Web Components: 組み込み要素を拡張する方法

目次1. はじめに2. 組み込みHTML要素を拡張する方法3. おわりに4. 参考 1. はじめに Web Components では、HTMLElement を継承してカスタムクラスを定義することも …

Web Programming

History API のメモ

History API についての簡単な説明を書きました。 「History API の概要を思い出したくなった時に、ざっと眺める」というのがこのページの主な目的です。 目次1. History AP …

Web Components

Web Components: Shadow DOM に HTML と CSS をセットするいろいろな方法

Web Components の Shadow DOM を使う場合のファイル構成やコードについて、いろいろなパターンを紹介します(最小限のコードのみです)。

Web Components

Web Components の Slot について

Web Components の Slot について説明します。