web-dev-qa-db-ja.com

イベント 'wp_version_check'も存在しますか?それは何をしているのですか?

674行目の/wp-includes/update.phpのバージョン4.1では、この行があります:

add_action('wp_version_check', 'wp_version_check');

私はすべてのwordpressのコアファイルをdo_action('wp_version_check')で探し、前述のアクションがどこで実行されるのかを調べました。しかし、私は何も見つけませんでした。私は自分の行動をイベントに加えてそれが拾われるかどうかを確かめることさえしました、しかし無駄に。

機能は何ですか?

6
awei

この関数は、可能な更新についてWPのバージョンをチェックします。 「update_core」という名前のデータベースに一時的なものがあるように見えるため、「_ site_transient_update_core」として$ wpdb-> optionsテーブルに保存されます。そのトランジェントの値は、情報を持つシリアル化されたオブジェクトです。私はwp_version_checkのエキスパートではありませんが、そのトランジェントを使用して、新しいバージョンを次にチェックするタイミングを追跡します。 Wordpressバージョン、phpバージョン、mysqlバージョン、言語、MUの場合、もしあればブログの数、ユーザーベースなどをチェックし、その情報をapi.wordpress.orgに送信します。 Wordpressコア開発者はその情報を使用して、コミュニティにとって何が重要かを判断していると推測しています(したがって、質問に答えるためにいくつかのことを行うようです)WPアップデート重要であり、ほとんどの人は自分で更新を確認しません。これはすべて管理側で行われるように見えるため、フロントエンドページの読み込みに遅れが生じず、失敗したチェックの直後にチェックすることもありません。これにより、api.wordpress.orgサーバーが応答しません。

将来、WPはすべての更新を「自動的に」行うことを計画しており、コンピューターの知識がほとんどないユーザーがWPを使用しないことを選択したため不利にならないことを知っています。 _更新。私は他の誰かがこのテーマについてもっと知識を持っていると確信しています。質問は面白いと思ったので、IDEを開いて少し覗きました。

編集

前のコメントとこの答えに続いて、私は何が起こっているのかを理解したと思います。

  1. wp-includes/update.phpは、add_action('wp_version_check', 'wp_version_check');でアクションを設定します
  2. cronが起動した場合、wp-includes/cron.phpwp_cron()を実行し、同じファイルで定義されたspawn_cron()を実行します。
  3. spawn_cron()はAJAXを/wp-cron.phpに呼び出し、wp_version_checkイベントでdo_action_ref_array()を呼び出し、最終的にwp_version_check()関数を起動します。
4
OnethingSimple