私は現在githubでホストされているクライアントのテーマを持っています。 gitデプロイを実行したり、Beanstalkのデプロイのようなサービスを使用したりする代わりに。私は多くのサイト(正確には79)にまたがって同じテーマをプッシュし、それらがWPリポジトリ主催のテーマのように自分自身を更新できるようにしたいと思います。良い例は、Genesisフレームワークがどのように更新作業を行っているかです。これを実行するために別のプラグインがインストールされているところを見たことがありますが、もっとシンプルな解決策を探しています(この機能をテーマ自体の中に保持する方法がある場合)。
そこにはいくつかのライブラリがあります。よりよく知られているものの1つはJoey Kudish からのもので、GitHub自体でホストされています 。
基本的に次のことを行います。
'pre_set_site_transient_update_plugins'
フィルタにコールバックを追加します'plugins_api'
フィルタに別のコールバックを追加しますwp_remote_get()
を行います。ああ、そう - これを忘れてしまったに近い - それはすべてのリクエストでリモートリポジトリをチェックすることを避けるために一時的なものを追加する。
これを達成するために2つの基本的なことが必要です
pre_set_site_transient_update_themes
にフック基本的な前提はあなたのテーマのバージョンがx時間ごとにリモートURLをチェックして$version
を比較する一時的なものに格納されていることです。
注:
URLは何でもかまいません、HTTP APIは認証(プライベートリポジトリ)をサポートしているか、またはヘッダを介して送信したいものなら何でも可能です。
通常はバージョンを使用しますが、チェックは任意の変数比較にすることができます。
ファイルは解析可能なもの(.xml、.txt)でもかまいませんが、通常はstyle.css
を使用します。
このチェックにコードを追加する代わりに、これをチェックしてください: https://github.com/jeremyclark13/automatic-theme-plugin-update 、特にテーマの部分。