WordPress 自作テーマの修正を自動チェックして管理画面から更新

WordPress のテーマを自作したり修正したりする場合、管理画面からテーマの PHP ファイルを書き換えられます。しかし、サーバ上のファイルを直接触ることになるためミスが起きやすく、手間もかかります。そこで、自分で修正したテーマの更新を自動チェックさせて管理画面から更新する手順をご説明します。

テーマの更新自動チェックライブラリを準備する

「plugin-update-checker」を使うと、テーマの更新チェックを自動的にやってくれます。インストールは簡単で、ダウンロードした圧縮ファイルの中身をテーマの直下に置いた後、functions.php にコードを追加するだけです。

GitHub との連携機能もあります。私はテーマをそこまで頻繁に修正するわけでもないのでやりませんでしたが、リポジトリにプッシュするだけで自動的に配信まで行えるはずです。

GitHub - YahnisElsts/plugin-update-checker: A custom update checker for WordPress plugins. Useful if you don’t want to host your project in the official WP repository, but would still like it to support automatic updates. Despite the name, it also works with themes.

その他に、もっとシンプルなライブラリもあります。deprecated にはなっていますが機能が単純なので使いやすいと思います。

Automatic Updates For Private And Commercial Themes | W-Shadow.com

もし既存テーマを修正する場合は、上記のようなライブラリを使っている箇所がないか探してみてください。

テーマを修正する

テーマの自動更新チェックライブラリの準備が終わったら、動作確認も兼ねてテーマを修正していきます。修正したい箇所に手を入れたら、ローカルで動作確認します。

style.css に記載されているバージョンを上げる

テーマ直下にあるstyle.cssのバージョンを上げます。

version: 1.6;

ここで記載したバージョン番号は、管理画面上のテーマ詳細画面から確認できます。テーマをバージョン管理するリポジトリでも、適切にバージョン番号を振ってタグを打ったりしておくとテーマの管理がしやすくなります。

テーマのバージョン情報 JSON を修正する

テーマ更新チェックのためのライブラリを準備する際に、テーマのバージョン情報の JSON URL を指定したかと思います。この JSON ファイルはインターネット上にファイルとして公開しておきます。

{
  "version": "1.6",
  "details_url": "https://example.com",
  "download_url": "https://example.com/theme.zip"
}

versionを style.css のバージョン番号に合わせて修正します。

details_urlは、テーマの説明ページ URL なので不要であれば修正不要です。

download_urlは、自分が修正したテーマの圧縮ファイル URL なので、バージョンごとに圧縮ファイルを別にする場合は修正が必要です。同じファイルを上書きする運用であれば修正は不要です。

コミット、プッシュする

ここまでに実施した以下の修正をリポジトリにコミット・プッシュします。

  • テーマの修正
  • style.css の修正
  • バージョン情報 JSON の修正

GitHub からテーマの zip ファイルをダウンロードしてリネームする

「Download ZIP」から zip ファイルをダウンロードします。ファイル名がdownload_jsonの URL で指定したファイル名と異なる場合は同じ名前に修正します。なお、圧縮ファイルの中身はwp-content/themes/配下に展開されるため、テーマ名のフォルダに包んで圧縮しましょう。

テーマの zip とテーマのバージョン情報 JSON をアップロードする

テーマのバージョン情報 JSON で指定したdownload_urlにテーマの zip ファイルをアップロードします。そして、「テーマの更新自動チェックライブラリを準備する」でバージョン情報 JSON として指定した URL に、テーマのバージョン情報 JSON をアップロードします。

テーマの更新チェックが走るのを待つ

テーマの更新チェックの間隔は最長 12 時間です。もしすぐに更新チェックさせたい場合は、「plugin-update-checker」の「Debug Bar」の項目を参照ください。