WordPress のテーマを Github や Bitbucket から更新チェックさせる

お久しぶりの @kuck1u です。

今回は少しマニアックなネタです。

本番 / テスト環境へのファイル転送

WordPress のテーマやプラグインの開発でローカル環境での動作確認完了後、本番を想定したテストサーバーで動作確認をする事が多い思います。例えば、公開ドメインのサブドメインでテスト環境を作ってなど。
テストサーバーで動作確認をしようとした時、大多数の人はローカルにあるファイル一式を FTP や SSH などで転送と思います。もしくは、ちょっとイケメンな人だと WordMove というツールを使ったり。

方法はさまざまだけど、とにかくファイルを転送しますよね。

でも、正直面倒臭くないですか?・・・僕は、面倒臭いです。

Git と連動してみる

とはいえ、黒い画面は不慣れなので、ついつい SFTP クライアントとか立ち上げてドラッグ・アンド・ドロップとかしています。この作業をなるべく簡単に削減したいな〜と、実は前々から思っていたわけです。
開発している時はバージョン管理に、Git をいっちょ前に使っています。プライベートでは Github、仕事では Bitbucket というふうに使い分けています。1 年から 2 年前くらいに話題になったのが、Git に Push したら、テーマやプラグインが更新できたらいいよね ! という話。
そんな話で盛り上がっていたら、WordPress 界の神様ともいう存在の高橋文樹さんが Github の API を利用して、Github に Push したらサーバー上のテーマやプラグインを問答無用で更新しちゃうよ ! という素晴らしいプラグインを公開してくれたわけです。

Githubにpushしたら自動テーマ更新する恐怖のWordPressプラグインを作った

Giploy という名のプラグインなのだけど、Giploy を一番最初に動かした時は感動しました。なんちゅーもん作ってくれたんや〜 (泣) と僕は小一時間くらい感動していたわけです。
とわいえ、このプラグイン、公開サーバーで Git コマンドが使える事が絶対条件となります。その為、Git コマンドが使えないサーバーの場合、Git コマンドを使えるように環境を整えてあげる必要があります。VPS やクラウドなら簡単だけど、共有サーバーだとそうもいかないですよね。最近だと Git が使える共有サーバーも増えてきているけれど、Git がインストールさている PATH が分からないから助けてくださいとかよくある話です。黒い画面でゴニョっとすればすぐに分かるけど、黒い画面は避けられがちですしおすし。

じゃぁ、もっと簡単にしようぜ ! とくっくるくんは思ったわけです。そこで考えたのが、WordPress にはデフォルトで更新チェック / 自動更新機能がついています。これを使えば何とかなるんじゃない?と思ったわけです。
調べてみると、海外では WordPress の公式ディレクトリ以外からテーマやプラグインを更新させる方法は結構普通に使われている方法らしく、有料テーマや有料プラグインでは当たり前みたいです。WordPress Gear 日本語版というサイトにも色々と情報とリソースがありました。

前置きが凄くながかったけど、これからが本題です。

テーマファイルに数行プラスするだけで簡単に自動更新 !

去年、とあるブログ記事を読んで興味がわき今回トライしてみました。

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

今回は上記サイトで紹介されているツールを使って、Bitbucket の Master ブランチから更新する方法を書いておこうと思います。Github からでも更新できると思います。

Bitbucket から更新する方法

WordPress の自動更新を有効にします。
使用中のテーマの functions.php か、プラグインを作るなりして下記を追加します。

上記を追加しなくても、ダッシュボード→更新→もう一度確認するボタンを押下 でもいいです。
※自動更新じゃなくなるけど(笑)

テーマ情報を記載した JSON ファイルを作成します。

作成した JSON ファイルは Git Push しておいてください。

自動更新する為の PHP ファイルを include して設定します。
使用中のテーマの functions.php か、プラグインを作るなりして下記を追加します。

WP_DEBUG が false の時だけ動くようにしています。

これで終わりです。
更新する時は、style.css と version.json のバージョンの項目を更新して Git Push すれば OK です。あとは、WordPress が勝手にやってくれます。
注意すべき点として、WordPress の自動更新は 12 時間に 1 回だった筈なので、テストサーバーではこの辺りをフックでカスタマイズしてあげるなどすればよいと思います。

最後に・・・

上手く利用すれば、クライアントワークでも利用できそうですね。
アニマック過ぎるのと、早足で書いたので文章がおかしい所があると思いますけど、許してください(笑)

それでは本日はここまで。

@kuck1u でした。


この記事が気に入ったら
いいね ! しよう

Twitter で

Written by くっくる

WordPressを使ったウェブサイトの構築・HTMLコーディングの受託案件を中心に埼玉県にて活動中。バイラルメディア風にFacebook pageのいいね!ボタンを設置できるVA Social Buzzをはじめ、複数のWordPressプラグインを公開している。共著書として「エンジニアのためのWordPress開発入門」がある。

View all author posts →

コメントを残す

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

CAPTCHA