Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

WordPress 6.7 Es wurde eine neue Funktion eingeführt, die es Plugins ermöglicht, die Registrierung ihrer Blöcke zu erhöhen.wp_register_block_metadata_collection()Typleistung, insbesondere für Plugins, die mehrere Blocktypen registrieren.

Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

Erweiterung der WordPress Core-Verhaltensweisen auf Plugins

Seit WordPress 6.1 verfügt WordPress Core über einen Mechanismus zur Verbesserung der Leistung beim Laden aller eingebauten Blocktypen: Als Teil des Build-Prozesses werden einzelneblock.jsonDie Datei wird geparst alsblocks-json.phpDatei, die alle ihre Daten als Array zurückgibt.Erhebliche Verbesserung der Leistung, da bei jeder WordPress-Anfrage nicht mehr viele teure Dateisystem- und JSON-Anfragen durchgeführt werden müssenBetrieb. Hintergrundinformationen zu den ursprünglichen Änderungen finden Sie in der#55005.

Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

Die Art und Weise, wie dieser Mechanismus implementiert ist, gilt jedoch nur für WordPress Core selbst. Bislang konnten Plugins nicht die gleichen Vorteile nutzen. Insbesondere für Plugins, die selbst viele Blocktypen enthalten, bedeutet dies effektiv einen Leistungsverlust. Das wird sich in WordPress 6.7 ändern.

Sammlung registrierter Block-Metadaten

Das Plugin registriert jetzt optional PHP "Liste der Artikel"Datei, die alle Metadaten für den jeweiligen Blocktyp enthält. Für jeden Blocktyp, der registriert wird, prüft WordPress Core nun, ob eine Manifestdatei existiert, die diesen Blocktyp abdeckt, und wenn dies der Fall ist, werden die Daten in der Manifestdatei anstelle derblock.jsonLesen und analysieren Sie Blocktyp-Dateien direkt.

Um diese neue Funktion nutzen zu können, müssen Plugin-Entwickler das neuewp_register_block_metadata_collection()Funktion, die zwei Argumente benötigt:

  • $pfad: Der Basispfad, in dem sich die Blockdateien der Sammlung befinden.
  • $manifestPfad zur Manifestdatei für die Sammlung.

jederblock.jsonDie Dokumente, die in der Sammlung enthalten sein sollen, müssen sich alle in der angegebenen$pfadin einem eigenen Verzeichnis, das dem Namen des Blocktyps entspricht (ohne den Block-Namensraum).

zur Kenntnis nehmenDie Registrierung einer Sammlung von Block-Metadaten ersetzt nicht die Notwendigkeit, einzelne Blocktypen zu registrieren. Es ist immer noch notwendig, dieregister_block_type()vielleichtregister_block_type_from_metadata(). Die Verwendung der neuen Funktion ist optional, um die Leistung zu verbessern, aber es wird dringend empfohlen, diese Funktion zu verwenden, insbesondere für Plugins, die mehrere Blocktypen registrieren.

Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

Automatische Erstellung von Sammellisten für Block-Metadaten

Plugin-Entwickler sind für die Erstellung und Pflege der Manifestdateien verantwortlich, die sie für die Blocktyp-Metadatensammlungen des Plugins registrieren. Um diesen Prozess zu vereinfachen, hat die Gemeinschaft dasNPM-PaketDie Einführung eines neuenBefehlbuild-blocks-manifestDieser Befehl wurde als Teil der Version 30.3.0 veröffentlicht.@wordpress/scripts

solltewp-scripts build-blocks-manifestDer Befehl akzeptiert zwei Parameter:

  • --EingabeVerzeichnis: Das Verzeichnis, in dem sich der Blocktyp befindet. Der Standardwert ist "build".
  • --outputDer Pfad zu der Datei, in der das Manifest der Build-Block-Metadatensammlung gespeichert ist. Der Standardwert ist "build/blocks-manifest.php".

Die Parameter dieses Befehls entsprechen nämlich den Parametern des Befehlswp_register_block_metadata_collection()::--EingabeParameter sind äquivalent zu Parametern$pfad(math.) Gattung--outputParameter sind äquivalent zu Parametern$manifest.

Vollständiges Beispiel

Nehmen wir für dieses Beispiel an, Sie haben einemy-block-libraryRegistrierte Plug-ins für 3 Blocktypen:

  • my-block-library/pricing
  • my-block-library/services
  • my-block-library/testimonial

Der Quellcode für diese Blocktypen ist im Verzeichnis des Plugins implementiertsrc, genauer gesagt im folgenden Katalog:

  • src/preisgestaltungVerwendung fürmy-block-library/pricingBlöcke.
  • src/DiensteVerwendung fürmy-block-library/servicesBlöcke.
  • src/testimonialVerwendung fürmy-block-library/testimonialBlöcke.

Durch die Verwendung bestehenderwp-scripts bauenBefehl, wird der Code in die Plugin-DateibauenVerzeichnis, und jeder Blocktyp hat das gleiche Unterverzeichnis.

Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

Nachdem Sie den Build ausgeführt haben, können Sie die neuewp-scripts build-blocks-manifestBefehl. Da das Plugin den Standardspeicherort seines Blocktyps verwendet, müssen Sie dem Befehl keine Parameter übergeben. Führen Sie einfach denwp-scripts build-blocks-manifestEs wirdblock.jsonMetadaten für alle drei Blöcke aus dem Katalog lesenbauenund fügen Sie sie zu einembuild/blocks-manifest.phpDokumentation.

Die Manifestdatei sieht wie folgt aus:

array( /* Metadaten blockieren. */ ), 'testimonial' => array( /* Metadaten blockieren.
'testimonial' => array( /* Metadaten blockieren. */ ), 'testimonial' => array( /* Metadaten blockieren. */ )
).

In Zukunft können Sie die gleichen beiden Befehle verwenden, wenn Sie Änderungen am Blocktyp und seiner Implementierung vornehmen:

wp-scripts bauen
wp-scripts build-blocks-manifest

Nachdem Sie die Manifestdatei erstellt haben, können Sie nun die Block-Metadatensammlung registrieren, wie unten gezeigt:

wp_register_block_metadata_collection(
wp_plugin_dir . '/my-block-library/build',
wp_plugin_dir . '/meine-block-bibliothek/build/blocks-manifest.php'
);

Ein letzter wichtiger Punkt: Vergessen Sie nicht, den eigentlichen Blocktyp zu registrieren:

register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/pricing' ).
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/services' ); register_block_type_from_metadata( WP_PLUGIN_DIR .
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/testimonial' ); register_block_type_from_metadata( WP_PLUGIN_DIR .
Neue Blocktyp-Registrierungs-API: Verbesserung der Leistung in WordPress 6.7

Zusammenfassungen

neue Funktionwp_register_block_metadata_collection()und seine Werkzeugunterstützung@wordpress/scriptssind eine leistungsstarke Kombination zur Verbesserung der Leistung von Plugin-Registrierungsblocktypen. Sie machen den Prozess leicht und einfach. Wenn also Plugins Blocktypen registrieren, sollten Sie in Erwägung ziehen, diesen Ansatz in Ihren Entwicklungsworkflow und Ihre Plugin-Codebasis zu integrieren.


Kontakt
Sie können den Artikel nicht lesen? Kontaktieren Sie uns für eine kostenlose Antwort! Kostenlose Hilfe für persönliche Websites und Websites kleiner Unternehmen!
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) E-Mail: info@361sale.com
Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei
Gepostet von photon fluctuations, retweeted mit Quellenangabe:https://www.361sale.com/de/21715/

Wie (0)
Vorherige 1 Tage zuvor
Weiter 9 vor Stunden

Empfohlen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kontakt

020-2206-9892

QQ咨询:1025174874

E-Mail: info@361sale.com

Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei

Kundendienst WeChat