Ich habe meinen eigenen Upload-Service für meine Website erstellt, der von WP getrennt ist, aber WP verwendet, um DB-Funktionen auf niedriger Ebene und Benutzerüberprüfung bereitzustellen. Dazu füge ich wp-load.php in mein Hauptskript (Uploadify) ein, aber dies scheint den Speicher des Servers mit unnötigen Komponenten zu füllen. Aus diesem Grund wird in meinem Skript ein Fehler angezeigt, der auf ein installiertes WP-Plugin hinweist.
Wie kann ich nur die WP-Kernkomponenten laden und Plugins ignorieren? Ist das überhaupt möglich?
Antworten:
Wenn Sie Plugins vollständig deaktivieren, verlieren Sie viele Vorteile.
Es gibt Distributionen von WordPress, die weiter gehen und Beiträge und Links usw. herausreißen, aber sie bleiben immer hinter dem WordPress-Kern zurück und überleben nicht so lange.
Hier sind einige Dinge, die getan werden könnten
Kurze Init
Fügen Sie dies in Ihre wp-config.php ein:
Wenn Sie es irgendwo definieren, bevor Sie es in WordPress laden, sollten Sie den Ladevorgang reduzieren und es auf minimale Kernfunktionen zurückführen.
Sekundäre Leichtbauinstallationen
Richten Sie eine zweite WordPress-Installation mit nur den gewünschten Plugins und Designs ein (falls vorhanden). Konfigurieren Sie dann die Datei wp-config.php so, dass sie dieselben wp-content-Verzeichnis- und Datenbankwerte verwendet.
Backpress
WordPress, das Original von BBpress und Glotpress, basieren unter anderem auf der BackPress-Bibliothek. Sie können dies anstelle von WordPress verwenden, um Ihre Arbeit zu erledigen, obwohl möglicherweise zahlreiche APIs und Funktionen fehlen oder erneut implementiert / portiert werden müssen
Optionstabellen
Ich würde auch bedenken, dass WordPress die gesamte Optionstabelle in den Speicher lädt, um Abfragen zu reduzieren. Wenn Sie dort große Werte speichern, wirkt sich dies auf die Leistung aus.
Früh abreisen
Sie können auch versuchen, frühere Funktionen im WordPress-Ladevorgang zu verwenden und den PHP-Prozess zu beenden, bevor WordPress fertig ist, aber ich kann nicht raten, wie sicher das wäre.
Plugins selektiv laden
Es gibt auch diesen Artikel zum selektiven Laden von Plugins , der jedoch Hacks für die WordPress-Kerndateien erfordert
quelle
Verwenden Sie BackPress , aber ich habe kleine Entwicklungen, bei denen ich eine Standardinstallation und eine kleinere Quelle über const verwende.
siehe auf der
wp-settings.php
Setzen Sie die Konstante SHORTINIT in der auf true
wp-config.php
und sehen Sie den schnellen Lauf.define( 'SHORTINIT', TRUE );
Dies sind die Dateien, die Sie erhalten:
quelle
Für das Machen
is_user_logged_in()
undcurrent_user_can()
Arbeiten habe ich hier eine ähnliche Antwort gefunden (Kommentar kann nicht kommentiert werden). Der Vergleich stimmt mit den Antworten hier überein, als:Die manuelle Verwendung von
define('SHORTINIT', true)
+require('wp-load.php')
+ umfasst:Pageload: 1.05 sek - enthaltene Dateien: 43 Dateien
Vergleichen: NUR mit
require('wp-load.php')
:Pageload: 1.35 sek - enthaltene Dateien: 419 Dateien
Es war eine gute Idee, einen relativen Aufruf des installierten WP-Verzeichnisses zu verwenden. Von einem Wordpress-Plugin "ROOT" wie:
Dann in meinem Plugin index.php:
Danach funktioniert die Benutzerüberprüfung für mich. Dank an @Anna Ericson letzte Worte aus dem Originalcode:
quelle
Hast du es versucht
define('SHORTINIT', true);
? Ich habe es nicht selbst getestet, aber es scheint nur sehr wenige Aspekte des WP-Kerns zu laden, während genügend Funktionen erhalten bleiben, insbesondere wenn Sie sich nur mit der Datenbank befassen möchten.quelle