プライベートプラグインを作成する場合、WordPressの自動更新メカニズムを使用して更新する方法はありますか?
機能をカプセル化したいのですが、それは私自身の5つほどのブログに固有のものであるため、公開プラグインリソースの良い候補ではありません。しかし、簡単に更新できるメカニズムが大好きです。
これを行う方法はありますか?
プライベートプラグインを作成する場合、WordPressの自動更新メカニズムを使用して更新する方法はありますか?
機能をカプセル化したいのですが、それは私自身の5つほどのブログに固有のものであるため、公開プラグインリソースの良い候補ではありません。しかし、簡単に更新できるメカニズムが大好きです。
これを行う方法はありますか?
回答:
該当するコードが入っているように見えますwp-includes/update.php
、wp_update_plugins()
:
$to_send = (object) compact('plugins', 'active');
$options = array(
'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
'body' => array( 'plugins' => serialize( $to_send ) ),
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);
$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);
特にapi.wordpress.orgをチェックします。技術的に言えば$to_send
、チェックを委任するために内部でキーを渡すことは可能ですが、私の知る限り、サポートされている機能ではありません。
フックset_site_transient_update_plugins
すると、独自のパッケージ詳細をこの変数に追加できます。プラグインアップデータを実行すると、これらの値は信頼されるようです。wp-admin/update.php
およびを参照してくださいwp-admin/includes/class-wp-upgrader.php
。これら2つの関数のコードを考えると、独自の更新サーバーを挿入することは可能だと思います。パッケージの詳細がどのようにフォーマットされ、それと一致するかを見るだけです。
このプラグインはあなたのためにそれを行います:
プライベートおよび商用プラグインの自動更新
太古から、公式のWordPress.orgプラグインディレクトリでホストされているプラグインのみが自動更新をサポートしています。これで、任意のプラグインに自動更新機能を追加するために使用できるPHPライブラリを作成しました。パブリック、プライベート、および商用プラグイン–すべてが自動更新通知とワンクリックアップグレードの利点を享受できるようになりました。
wp-update-server
同じ著者によって書かれたパッケージで;)github.com/YahnisElsts/wp-update-serverこのサーバーを使用することにより、プラグインを保護できます。ここで説明:w-shadow.com/blog/2013/03/19/...
無料が好きで、GitHub、GitLab、またはBitBucketのようなものを使用したい場合、これはそれを処理するための良質でサポートされているプラグインです(プライベートおよびエンタープライズをサポート):
私は同じことを検討しています。私が見つけたいくつかのリンクは役に立つかもしれません:
1つ目は、アップグレードAPIへの情報とポインターです。2番目は、APIから実際に情報を要求する方法を示すコードスニペットです。
WordPress開発キットプラグインをご覧になることをお勧めします。私は最近、独自の更新システムをこのプラグインに移行しました。これで、プラグインはプレミアムプラグインの更新のバックエンドプロセッサとして機能します。
これは、上記のagileapricotが提供するソリューションとセットアップが似ています。WordPressサイトに標準プラグインとしてインストールされます。プレミアム.zipファイルとplugins.jsonをサーバーの実稼働ディレクトリまたはプレリリースディレクトリでホストします(プラグインの設定で指定)。
プラグインを使用すると、プラグインのバージョンを一覧表示したり、公開ページ、パスワード保護ページ、またはサブスクリプション保護ページ上のファイルのダウンロードを提供することもできます。ページ上のバージョンリストの例をこちらでご覧いただけます。
プレミアムアドオンの変更ログ、現在のバージョンリスト、およびプレミアサブスクリプション所有者のダウンロードリストを公開するために、私は何ヶ月もプラグインを使用しています。現在、バージョン0.7.01では、インラインWordPress更新のクエリ宛先として機能しています。
あなたの何人かがそれが役に立つことを願っています。
管理する必要のないホスト型ソリューションが必要な場合は、Kernl(https://kernl.us)をご覧ください。プラグインを更新するためのインフラストラクチャを提供し、独自のプラグインに簡単に統合できるサービスです。
次の商用プラグインを使用できます:http : //autohosted.com/ 制限なし。必要な他の機能がいくつかあります。