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


17

質問は簡単です:)私は多くのサイトで使用するテーマを作成しています。そのため、バグを修正したりテーマをアップグレードしたりするたびに、すべてのサイトにアクセスしてファイルをftpしたくありません。

wordpressプラグインディレクトリでホストされているプラ​​グインのような更新システムを作成する方法はありますか。

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

解決済み:

素晴らしいリンクをありがとう、Chip Bennett。テーマの更新ライブラリがそのサイトで利用可能になりました。ここで見つけることができます: http //w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

無料で利用できるすばらしい作品を見つけた場合は、常に寄付を検討してください。


プラグイン更新チェッカーを使用してください!プラグインとテーマの両方で機能します。github.com/YahnisElsts/plugin-update-checker
transbetacism

回答:


9

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

編集:

このチュートリアルが役立つかどうかを確認してください。プライベート/商用(つまり、非リポジトリホスト)プラグインの自動アップグレードを実装する方法について説明します。


1
私はそれだと思うpre_set_site_transient_update_plugins
ウィック

ありがとう!私はあなたのリンクを通過し、プラグインコードは機能しませんでしたが、数日後に彼がテーマを作成してライブラリを変更するように依頼します!そして今、それは素晴らしい仕事です!リンクを質問に入れます。ありがとう!!
シシル

1
ここでは、同じサイトからもテーマの自動アップグレードのためのチュートリアルです:w-shadow.com/blog/2011/06/02/...
ヤロスラフKlimčík

pre_set_site_transient_update_pluginsメインサイトでアクティブ化されたテーマのみを実行します。他のすべてのカスタムテーマの更新は、それがマルチサイトであり、他のサイトで他のカスタムテーマをアクティブにした場合でもチェックされません。
vee

3

興味のある質問!実際、更新を確認するサービスを作成する必要があると思います!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(ユーザーがサイトにアクセスすると順番にワーキングサイトが表示されます)。次に、コードはcurlまたはfile_get_contentsを使用してzipファイル(この場合はtheme.zip)をダウンロードできます!次に、テーマフォルダー内のすべてのファイルを削除し、zipファイルを抽出して、そのコンテンツをテーマフォルダーにコピーします。このように動作するはずだと思います!

WordPressの機能をご覧ください。ファイルwp-admin / includes / update-core.php、行288、関数update_coreにあることがわかりました


3
基本的には、この代わりにカールを使用するか、WordPressのHTTP API、使っfile_getのcodex.wordpress.org/HTTP_API
ウィック

クール・ウィック、私はそれを知りませんでした;)!
クレイケーン

1
ついにこれについての研究を始める時間ができました!テーマの現在のバージョンでは、この関数codex.wordpress.org/Function_Reference/get_theme_dataを使用できます。私はあなたが示したアプローチで働き始めます。
シシル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.