web-dev-qa-db-ja.com

持ってる WP Gitリポジトリからのテーマの更新

私は現在githubでホストされているクライアントのテーマを持っています。 gitデプロイを実行したり、Beanstalkのデプロイのようなサービスを使用したりする代わりに。私は多くのサイト(正確には79)にまたがって同じテーマをプッシュし、それらがWPリポジトリ主催のテーマのように自分自身を更新できるようにしたいと思います。良い例は、Genesisフレームワークがどのように更新作業を行っているかです。これを実行するために別のプラグインがインストールされているところを見たことがありますが、もっとシンプルな解決策を探しています(この機能をテーマ自体の中に保持する方法がある場合)。

2
Zach Russell

そこにはいくつかのライブラリがあります。よりよく知られているものの1つはJoey Kudish からのもので、GitHub自体でホストされています

基本的に次のことを行います。

  • GitHub APIを利用します
  • 'pre_set_site_transient_update_plugins'フィルタにコールバックを追加します
  • 'plugins_api'フィルタに別のコールバックを追加します
  • 最後にWP HTTP APIを利用してGitHubリポジトリにwp_remote_get()を行います。

ああ、そう - これを忘れてしまったに近い - それはすべてのリクエストでリモートリポジトリをチェックすることを避けるために一時的なものを追加する。

4
kaiser

これを達成するために2つの基本的なことが必要です

  • pre_set_site_transient_update_themesにフック
  • HTTP APIを使用して、更新されたURLを問い合せます。

基本的な前提はあなたのテーマのバージョンがx時間ごとにリモートURLをチェックして$versionを比較する一時的なものに格納されていることです。

注:

URLは何でもかまいません、HTTP APIは認証(プライベートリポジトリ)をサポートしているか、またはヘッダを介して送信したいものなら何でも可能です。

通常はバージョンを使用しますが、チェックは任意の変数比較にすることができます。

ファイルは解析可能なもの(.xml、.txt)でもかまいませんが、通常はstyle.cssを使用します。

このチェックにコードを追加する代わりに、これをチェックしてください: https://github.com/jeremyclark13/automatic-theme-plugin-update 、特にテーマの部分。

1
Wyck