it-swarm.com.de

Wordpress Shortcodes & Leistung

Beeinträchtigen Shortcodes die Leistung? Jedes Plugin, das diese Technik verwendet, muss den Inhalt von Posts/Seiten analysieren und nach dem Shortcode suchen. Wenn ja, wäre es besser, Shortcode-basierte Plugins so weit wie möglich zu begrenzen?

1
Riccardo

Sie müssen dies aus verschiedenen Perspektiven betrachten und dann die Chancen gegeneinander abwägen

Im Allgemeinen sind Shortcodes langsamer ( wir sprechen hier von Millisekunden ), da sie vom Shortcode-Handler analysiert und verarbeitet werden müssen.

VERWENDUNG: [my_shortcode] im Post-Editor

Shortcodes sind im Allgemeinen sehr nützlich und überwiegen in der Regel die Tatsache, dass sie in der Regel etwas langsamer sind, als eine Funktion nur fest zu codieren und in der gewünschten Vorlage aufzurufen. Shortcodes sind portabel ( aus diesem Grund sollten siein einem Plugin sein ), wodurch sie sich hervorragend für die Verwendung zwischen Themen eignen. Außerdem müssen Sie keine Vorlage ändern, um etwas Besonderes in einer Vorlage zu tun. Sie können den Shortcode einfach in das Meta-Feld für den Inhalt des Post-Editors einfügen und fertig.

Aus Gründen der Benutzerfreundlichkeit und Bequemlichkeit sind Shortcodes auf jeden Fall die richtige Wahl, und alle positiven Faktoren überwiegen den Verlust in nur wenigen Millisekunden, da keine Spaghetti-Rückruffunktion allein verwendet wird

VERWENDUNG: do_shortcode() in einer Vorlage fest codiert

Hier würde ich die Grenze ziehen, wenn Sie eine Kurzwahl über do_shortcode() aufrufen müssen, dann machen Sie es falsch. Wie gesagt, Shortcodes sind ein bisschen langsamer, also wäre es hier viel besser, einfach eine einfache Funktion zu schreiben, sie in ein Plugin ( was für die Portabilität empfohlen wird ) oder functions.php abzulegen und dann die Funktion aufzurufen in Ihre Vorlage.

In jedem Fall müssen Sie die Vorlage ändern, um entweder Ihren Shortcode oder die von Ihnen erstellte Funktion oder Klasse aufzurufen. Aus diesem Grund sollten Sie, meiner Meinung nach, keine Shortcodes verwenden, sondern eine einfache Funktion oder eine Klasse, die etwas schneller ist.

FAZIT

Sollten Sie sich fernhalten oder die Verwendung von Kurzwahlen einschränken? Die Antwort ist einfach, alles hängt von der oben beschriebenen Verwendung ab. Wenn Sie mehrere Kurzwahlen auf einer Seite aufrufen, versuchen Sie, diese einzugrenzen, indem Sie die benötigten Funktionen in einer soliden, cleveren Kurzwahl kombinieren, die alles kann, was Sie wollen.

Bevor ich meinen Stift hinlege, möchte ich Sie damit belassen, das Query Monitor Plugin herunterladen und installieren. Ich persönlich bin der Meinung, dass jeder Entwickler dieses Plugin auf seiner lokalen Testumgebung installieren sollte. Dieses Plugin zeigt Ihnen genau an, wie viele Abfragen gemacht werden, wie lange es dauert, diese Abfragen zu machen und wie lange es gedauert hat, eine bestimmte Seite zu laden.

3
Pieter Goosen

Es gibt verschiedene Aspekte, und wie immer muss die Leistung in einem Kontext betrachtet werden. Die Antwort von Pieter lautet: "Haben Sie überhaupt einen (besseren) Weg, um die erforderliche Funktionalität zu erreichen?". Darüber hinaus gibt es einige Fakten, die es wert sind, im Auge zu behalten

  • Modernes PHP ist schnell. Es ist nie gut, ineffizienten Code zu schreiben, aber es lohnt sich wahrscheinlich nicht, zu viel Zeit zu verschwenden, um die interne Arbeitsweise von PHP zu optimieren (Beispiel: einfaches Anführungszeichen vs. doppelte Anführungszeichen).
  • Der zeitaufwendige Teil der Verwendung regulärer Ausdrücke zum Erkennen und Analysieren von Shortcodes besteht nicht immer darin, den Text selbst zu analysieren, sondern die interne "Parsing-Maschine" zu generieren, die beim Analysieren des Texts verwendet wird. PHP hilft hier, indem es die Maschinen zwischenspeichert.
  • aufblähen ist Aufblähen und Aufblähen wirkt sich normalerweise auf die Leistung aus. Im Allgemeinen können Sie Shortcodes, die Sie nicht verwenden, "ausschalten" und die entsprechende "Parsing-Maschine" kleiner und damit schneller machen. Wenn Sie auf diese Weise vorgehen, sollten Sie darauf achten, dass die Ausführung des Aufblähungs-Entfernungscodes nicht länger dauert als die Auswirkung der bloßen Existenz der nutzlosen Shortcodes.
2
Mark Kaplun

Wenn Sie keine Shortcodes aufgerufen haben, bedeutet dies, dass sie ihre Funktionen nicht aufgerufen haben und daher die Leistung Ihrer Website nicht beeinträchtigen.

Sie können auch statische Klassen und Variablen verwenden, um die Belastung Ihrer Site zu verringern. Jeder Shortcode wird nur einmal verwendet, unabhängig davon, wie oft Sie ihn aufrufen.

0
Dmitry Ivanov