Ich versuche, einen Mechanismus zu finden, mit dem Plugins je nach Seiten-URL bei Bedarf geladen werden können, um die Leistung zu verbessern.
Mein Hauptanliegen ist, dass ich einige admin-ajax.php-Aufrufe habe, die wiederholt werden, während der Benutzer auf der Seite aktiv ist. Ich habe versucht, diese Aufrufe zu profilieren, und festgestellt, dass die meisten für den Ajax-Aufruf geladenen Plugins nicht erforderlich waren.
Während ich is_admin()
einen Ajax-Anruf identifizieren könnte , möchte ich WordPress und den Plugin-Code intakt lassen. Außerdem is_admin()
wird nicht zwischen einem Ajax-Anruf und einem Admin-Panel unterschieden.
Ich habe mich mit dem Laden des Plugins befasst. Ich sah nur 'muplugins_loaded'
, 'plugins_loaded'
Aktionen, keine Filter zu tippen in den Ladeprozess. Ich habe es überprüft wp_get_active_and_valid_plugins
und es scheint, dass die einzige Möglichkeit, das Laden von Plugins zu ändern, update_option('active_plugins')
explizit ist, was keine praktikable Option ist. Andere Dinge sind fest codiert.
(Ich möchte erwähnen, dass dieses Plugin http://wordpress.org/extend/plugins/selective-loading/ die update_option
Methode verwendet, die meiner Meinung nach nur in einer Nicht-Ajax-Umgebung geeignet ist, sonst würde sich die Option nicht ändern sei nicht atomar.)
Ich frage mich, ob es noch eine Möglichkeit gab, das selektive Laden von Plugins zu implementieren.