web-dev-qa-db-ja.com

私のテーマの更新通知機能を作る

質問は簡単です:)私は私が多くのサイトで使うテーマを作っています。だから、私はバグを直したりテーマをアップグレードしたりするたびに、すべてのサイトに行き、ファイルをftpしたくない。

私はwordpressのプラグインディレクトリにホストされているプラ​​グインのようなアップデートシステムを作ることができる方法はありますか。

お返事をお待ちしています。ありがとうございます。

解決:

彼の優秀なリンクをありがとうチップベネット。テーマのアップデートライブラリがそのサイトで利用可能になりました。あなたはそれをここで見つけることができます: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

あなたが無料で利用できるようになったいくつかの優れた作品を見たら、寄付を常に考えてください。

16
Sisir

コア更新ルーチンにフックすることもできます。 (私はチュートリアルリンクを探しています、しかし私のGoogle-fuは今朝私に失敗しています)

編集:

このチュートリアルが助けになるかどうか見てください 。プライベート/コマーシャル(つまりリポジトリではない)プラグインの自動アップグレードを実装する方法を説明しています。

9
Chip Bennett

興味のある質問!実際には、私はあなたが更新を確認するためのサービスを作るべきだと思います! yourdomain.comn/api/update-checkなどです。そうすれば、XMLやJSON、あるいはバージョン、更新ファイルのURLなどの更新に関連する有用な情報を返すことができます(更新されたファイルはZipファイルでなければなりません)。

あなたのテーマであなたは持つことができます:

    <?php define('OWN_THEME_VERSION', '1.1');

したがって、上記のURL(yourdomain.comn/api/update-check)から更新を検出した場合は、JSOデータが次のように返されるとします。{"version": "1.2"、 "file": "theme.Zip"}

バージョンを比較して新しいアップデートをチェックします!その後、この機能でデフォルトのテーマに切り替えてください http://codex.wordpress.org/Function_Reference/switch_theme (ユーザーがサイトにアクセスすると、彼らは最悪のサイトを見ることになります)!次に、あなたのコードはZipファイル(この場合はtheme.Zip)をダウンロードするためにcurlあるいはfile_get_contentsさえも使うことができます!次に、あなたはあなたのテーマフォルダの中のすべてのファイルを削除してから、Zipファイルを展開してその内容をテーマフォルダにコピーします!これでうまくいくと思います。

あなたはWordPressがしたことを見たいと思うかもしれません! wp-admin/includes/update-core.phpの288行目、関数update_coreにあります。

3
kureikain