プライベートプラグインの更新?


117

プライベートプラグインを作成する場合、WordPressの自動更新メカニズムを使用して更新する方法はありますか?

機能をカプセル化したいのですが、それは私自身の5つほどのブログに固有のものであるため、公開プラグインリソースの良い候補ではありません。しかし、簡単に更新できるメカニズムが大好きです。

これを行う方法はありますか?


これは、wp-hackersメーリングリストでフィルター可能なオプションとして議論されていたと思われます。解決されなかった、IIRC。私が考えて、関連する議論は、このスレッドにあった:lists.automattic.com/pipermail/wp-hackers/2009-February/... ...しかし、私は間違っている可能性があります。
ザムース

独自のソリューションを展開したくない場合は、kernl.usを使用してホストされたプラグインの更新を行うことができます。
ジャックスリンガーランド

回答:


48

該当するコードが入っているように見えますwp-includes/update.phpwp_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つの関数のコードを考えると、独自の更新サーバーを挿入することは可能だと思います。パッケージの詳細がどのようにフォーマットされ、それと一致するかを見るだけです。


42

このプラグインはあなたのためにそれを行います:

プライベートおよび商用プラグインの自動更新

太古から、公式のWordPress.orgプラグインディレクトリでホストされているプラ​​グインのみが自動更新をサポートしています。これで、任意のプラグインに自動更新機能を追加するために使用できるPHPライブラリを作成しました。パブリック、プライベート、および商用プラグイン–すべてが自動更新通知とワンクリックアップグレードの利点を享受できるようになりました。

GitHubリポジトリ


2
また、プラグインをあなたの側で管理することに興味があるかもしれません...おそらくwp-update-server同じ著者によって書かれたパッケージで;)github.com/YahnisElsts/wp-update-serverこのサーバーを使用することにより、プラグインを保護できます。ここで説明:w-shadow.com/blog/2013/03/19/...
SimonSimCity

無料のプラグインでワードプレスのデフォルト更新チェッカーを無効にするにはどうすればよいですか?
csandreas1

そのウェブサイトは時代遅れに見えますが、プロジェクトは非常に積極的にサポートされており、プライベートのBitbucket / Githubリポジトリでも動作します!利用可能なさまざまな統合の詳細については、Githubリポジトリを参照してくださいgithub.com/YahnisElsts/plugin-update-checker
Mr. Me

10

無料が好きで、GitHub、GitLab、またはBitBucketのようなものを使用したい場合、これはそれを処理するための良質でサポートされているプラ​​グインです(プライベートおよびエンタープライズをサポート):

https://github.com/afragen/github-updater


1
うわー!よくサポートされ、成熟したプロジェクトのように見えます!
Armstrongest

1
別のプラグインに依存することは、それほどクリーンなソリューションではないようです。
kontur

2
@konturは非常に真実ですが、これはオープンソースであり、絶えず更新されているかのように、フレームワークとして、または独自のビルドのコード例として使用できます。
sMyles


1

WordPress開発キットプラグインをご覧になることをお勧めします。私は最近、独自の更新システムをこのプラグインに移行しました。これで、プラグインはプレミアムプラグインの更新のバックエンドプロセッサとして機能します。

これは、上記のagileapricotが提供するソリューションとセットアップが似ています。WordPressサイトに標準プラグインとしてインストールされます。プレミアム.zipファイルとplugins.jsonをサーバーの実稼働ディレクトリまたはプレリリースディレクトリでホストします(プラグインの設定で指定)。

プラグインを使用すると、プラグインのバージョンを一覧表示したり、公開ページ、パスワード保護ページ、またはサブスクリプション保護ページ上のファイルのダウンロードを提供することもできます。ページ上のバージョンリストの例をこちらでご覧いただけます

プレミアムアドオンの変更ログ、現在のバージョンリスト、およびプレミアサブスクリプション所有者のダウンロードリストを公開するために、私は何ヶ月もプラグインを使用しています。現在、バージョン0.7.01では、インラインWordPress更新のクエリ宛先として機能しています。

あなたの何人かがそれが役に立つことを願っています。



-1

次の商用プラグインを使用できます:http : //autohosted.com/ 制限なし。必要な他の機能がいくつかあります。

  • 月額料金なし
  • 無制限の使用
  • テーマとプラグインとの簡単な統合
  • ドメイン、キー、および役割による認証

1
新しいサインアップは締め切られました...
Cliff P
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.