web-dev-qa-db-fra.com

L'événement 'wp_version_check' existe-t-il même? Qu'est-ce que ça fait?

Dans la version 4.1 de /wp-includes/update.php autour de la ligne 674, il y a cette ligne:

add_action('wp_version_check', 'wp_version_check');

J'ai cherché dans tous les fichiers de base de wordpress une do_action('wp_version_check') pour voir où l'action susmentionnée pourrait être déclenchée. Mais je n'ai rien trouvé. J'ai même ajouté ma propre action à l'événement pour voir si elle est reprise, mais en vain.

Que fait la fonction?

6
awei

La fonction recherche dans votre version de WP les éventuelles mises à jour. Il semble qu'il y ait un transitoire dans la base de données nommé 'update_core'. Il est donc stocké dans la table d'options $ wpdb-> sous le nom '_site_transient_update_core'. La valeur de ce transitoire est un objet sérialisé qui contient des informations. Je ne suis pas un expert de wp_version_check, mais il utilise ce transitoire pour déterminer quand vérifier la prochaine version. Il vérifie la version de Wordpress, la version php, la version de mysql, la langue, si votre MU et, le cas échéant, le nombre de blogs que vous possédez, la base d'utilisateurs et envoie ces informations à api.wordpress.org. Je suppose que les développeurs Wordpress Core utilisent ces informations également pour décider de ce qui est important pour la communauté (pour répondre à votre question, cela semble faire plusieurs choses) WP Les mises à jour sont importantes et la plupart des 'pas vérifier les mises à jour par eux-mêmes. Il semble que tout cela se produise du côté de l’administrateur, afin de ne pas retarder le chargement de votre page d’accueil et de ne pas vérifier immédiatement après une vérification infructueuse, pour éviter de suspendre votre site Web si le serveur api.wordpress.org ne répond pas.

À l'avenir, je sais que WP prévoit de faire toutes les mises à jour 'Automatiquement' afin que les utilisateurs peu familiarisés avec l'informatique ne soient pas désavantagés, car ils ont choisi de ne pas utiliser de WP. _ mettre à jour. Je suis sûr que quelqu'un d'autre peut avoir plus de connaissances sur le sujet. Je pensais que la question était intéressante, j'ai donc ouvert mon IDE et j'ai jeté un coup d'œil autour de moi.

Modifier

Merci aux commentaires précédents et cette réponse, je pense compris ce qui se passe.

  1. wp-includes/update.php définit l'action avec add_action('wp_version_check', 'wp_version_check');
  2. si/quand cron se déclenche, wp-includes/cron.php exécutera wp_cron() qui à son tour exécutera spawn_cron() défini dans le même fichier.
  3. spawn_cron() effectue un appel AJAX à /wp-cron.php qui appellera do_action_ref_array() avec l'événement wp_version_check et activera finalement la fonction wp_version_check().
4
OnethingSimple