wake-up-neo.net

Wie WordPress ein Plugin-Update erkennt

Ich bin ein wp-Plugin-Entwickler und möchte wissen, wie WP erkennt, ob ein Plugin ein Update enthält. Ich denke, es ist in Ordnung für diese Plugins, die sich bereits im Repository von wordpress.org befinden. Aber wie kann ich den gleichen Mechanismus für diese Plugins implementieren, die in meinem eigenen Repository gespeichert sind? (Schon gegoogelt, kann leider keine Infos finden). Vielen Dank!

3
Epsiloncool

Alle 12+ Stunden wird WordPress automatisch beendet und überprüft, ob ein Plugin über das WordPress-Repository aktualisiert werden muss. Es gibt 3 Cron-Jobs, die WordPress ausführt, um Dinge zu überprüfen:

  • wp_version_check - Sucht nach Core-Updates
  • wp_update_plugins - Auf Plugin-Updates prüfen
  • wp_update_themes - Sucht nach Theme-Updates

Ein hübsches kleines Plugin, um diese anzuzeigen, ist WP Crontrol . Jetzt sind WP Crons nicht wie Server-Cronjobs. Sie werden in bestimmten Situationen ausgeführt, in denen Bedingungen erfüllt sind (current_time> = 12 AND ...). Ich bin mir nicht ganz sicher, wie die Bedingungen sind, aber es scheint sich um Administratoranfragen zu handeln.

Es gibt eine Option in der Datenbank, die viele dieser Informationen enthält. Jeder Cron hat seine eigene Transiente, wenn ich mich nicht irre. Sie können in der wp_options-Tabelle nach _site_transient mit einer LIKE%..%-Anweisung suchen, um zu sehen, was Sie erhalten.

Die Option _site_transient_update_plugins enthält Informationen wie den zuletzt überprüften Zeitstempel, die überprüften Plugins und die Plugins, die aktualisiert werden müssen (mit einer Reihe von Dingen wie Paket-URL, neuer Version usw.), die dann verwendet werden, um Informationen zum Aktualisieren und anzuzeigen macht es einem Benutzer sehr einfach, einfach auf Aktualisieren zu klicken (da er nicht nach der Seite suchen muss, auf der sich bereits die Aktualisierungs-URL in der Datenbank befindet).

Ich habe ein bisschen damit rumgespielt und habe immer noch keine Ahnung, aber hoffentlich gibt Ihnen das Obige eine Vorstellung davon, wie es funktioniert.

Soweit WordPres Plugins für Ihr eigenes privates Repository aktualisieren soll, gibt es einige verschiedene Varianten. WooCommerce hat ein Hilfs-Plugin, das die meisten Updates verwaltet. Es gibt einen Code für Push-Updates von Github, hier ist eine Antwort der mich in die richtige Richtung gelenkt hat. Alles in allem ist es nicht die einfachste Sache.

4
Howdy_McGee