私はwpプラグインの開発者であり、WPがどのプラグインにアップデートがあるかをどのように検出するのか知りたいですか?私はそれがすでにwordpress.orgレポジトリに入っているこれらのプラグインについては大丈夫だと思います。しかし、自分のリポジトリに格納されているこれらのプラグインに対して同じメカニズムをどのように実装することができますか? (すでにいくつかのグーグルを作った、残念ながら何の情報も見つけることができません)。ありがとうございます。
WordPressが12時間以上経過すると自動的に消えて、WordPressリポジトリからプラグインを更新する必要があるかどうかを確認します。 WordPressが物事をチェックするために実行する3つのcronジョブがあります。
wp_version_check
- コアアップデートをチェックするwp_update_plugins
- プラグインの更新を確認するwp_update_themes
- テーマの更新をチェックこれらを表示するためのきちんとした小さなプラグインは WP Crontrol です。現在、WP CronsはServer Cronjobとは異なり、特定の状況で条件が満たされたときに実行されます(current_time> = 12 AND ...)。条件がどうなっているか完全にはわかりませんが、管理者パネルの要求のようです。
データベースにはこの情報の多くを保持するオプションがあります。間違えない限り、各cronには独自の一時的なものがあります。wp_options
ステートメントを使用して_site_transient
テーブルでLIKE%..%
テーブルを検索し、表示内容を確認できます。
_site_transient_update_plugins
オプションは、最後にチェックしたタイムスタンプ、チェックしたプラグイン、更新が必要なプラグイン(パッケージURL、新しいバージョンなどの配列)のような情報を保持します。ユーザーが更新をクリックするのを非常に簡単にします(データベースに更新URLがあるページを探す必要がないため)。
私は これで遊んだ 少しの間まだそれを十分に理解していないが、うまくいけば上記の説明があなたにそれがどのように機能するかのアイデアを与える。
WordPresがあなた自身のプライベートリポジトリ用のプラグインを更新する限り、それにはいくつかの異なる種類があります。 WooCommerceには、ほとんどの更新を処理するヘルパープラグインがあります。Githubから更新をプッシュするコードがいくつかあります。 これが回答です 私は正しい方向に進みました。結局のところ、それを行うのが最も簡単で直接的なことではありません。