Einen benutzerdefinierten WordPress-Block erstellen

9 hours ago, WordPress Tutorials, Views
Einen benutzerdefinierten WordPress-Block erstellen

Einen benutzerdefinierten WordPress-Block erstellen: Eine umfassende Anleitung

WordPress hat sich von einer einfachen Blogging-Plattform zu einem leistungsstarken Content-Management-System (CMS) entwickelt. Die Einführung des Gutenberg-Editors, auch bekannt als Block-Editor, hat die Art und Weise, wie Inhalte erstellt und verwaltet werden, grundlegend verändert. Mit Gutenberg können Benutzer Inhalte in Form von Blöcken erstellen, die modular, wiederverwendbar und flexibel sind. In diesem Artikel werden wir uns ansehen, wie Sie in Deutschland einen benutzerdefinierten WordPress-Block erstellen können.

Warum benutzerdefinierte Blöcke erstellen?

WordPress bietet eine Vielzahl von Standardblöcken, mit denen sich grundlegende Inhaltsformate wie Text, Bilder, Überschriften und Listen erstellen lassen. In vielen Fällen reichen diese Standardblöcke jedoch nicht aus, um die spezifischen Anforderungen einer Website oder eines Projekts zu erfüllen. Hier kommen benutzerdefinierte Blöcke ins Spiel. Mit benutzerdefinierten Blöcken können Sie:

  • Die Funktionalität des Editors erweitern.
  • Komplexe Layouts und Designs erstellen.
  • Inhalte auf eine bestimmte Art und Weise strukturieren.
  • Daten aus externen Quellen integrieren.
  • Das Benutzererlebnis verbessern.

Wenn Sie beispielsweise einen Block benötigen, der Produktdetails anzeigt, ein Kontaktformular einbettet oder spezielle Galerien erstellt, ist die Entwicklung eines benutzerdefinierten Blocks die beste Lösung.

Voraussetzungen

Bevor Sie mit der Entwicklung eines benutzerdefinierten Blocks beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:

  • Eine funktionierende WordPress-Installation.
  • Grundkenntnisse in HTML, CSS und JavaScript.
  • Vertrautheit mit React (optional, aber empfohlen).
  • Eine Entwicklungsumgebung mit Node.js und npm (oder yarn).

Wenn Sie noch keine Erfahrung mit React haben, empfiehlt es sich, die Grundlagen zu erlernen, bevor Sie mit der Blockentwicklung beginnen, da viele moderne Tutorials und Beispiele React verwenden.

Die Grundlagen der Blockentwicklung

Die Entwicklung eines benutzerdefinierten Blocks umfasst mehrere Schritte. Zunächst müssen Sie eine neue WordPress-Plugin erstellen, in der sich der Block befindet. Innerhalb dieses Plugins definieren Sie die Eigenschaften des Blocks, einschließlich seiner Name, Beschreibung, Attribute und Render-Funktion.

WordPress verwendet JavaScript, um Blöcke zu registrieren und zu verwalten. Die wichtigsten Funktionen und Hooks für die Blockentwicklung sind:

  • registerBlockType: Diese Funktion registriert einen neuen Block im WordPress-Editor.
  • wp.blocks: Ein JavaScript-Objekt, das Funktionen und Komponenten für die Blockentwicklung enthält.
  • wp.element: Ein JavaScript-Objekt, das Funktionen für die Arbeit mit Elementen und Komponenten enthält.
  • wp.components: Ein JavaScript-Objekt, das verschiedene UI-Komponenten für die Blockentwicklung enthält.

Schritt-für-Schritt-Anleitung: Einen einfachen Block erstellen

In diesem Abschnitt erstellen wir einen einfachen Block, der einen benutzerdefinierten Text anzeigt.

1. Erstellen Sie ein neues Plugin

Erstellen Sie ein neues Verzeichnis im wp-content/plugins/-Ordner Ihrer WordPress-Installation. Nennen Sie das Verzeichnis beispielsweise custom-block-example.

Erstellen Sie in diesem Verzeichnis eine neue PHP-Datei, z. B. custom-block-example.php, und fügen Sie den folgenden Code hinzu:


    <?php
    /**
     * Plugin Name: Custom Block Example
     * Description: Ein Beispiel für einen benutzerdefinierten WordPress-Block.
     * Version: 1.0.0
     * Author: Ihr Name
     */

    function custom_block_example_block_init() {
      register_block_type( __DIR__ . '/build' );
    }
    add_action( 'init', 'custom_block_example_block_init' );
  

Dieser Code definiert die Plugin-Informationen und registriert eine Funktion, die den Block initialisiert, sobald WordPress geladen ist.

2. Erstellen Sie die Blockdefinition

Erstellen Sie im Plugin-Verzeichnis einen neuen Ordner namens src. In diesem Ordner erstellen Sie eine JavaScript-Datei namens index.js. Fügen Sie den folgenden Code hinzu:


    import { registerBlockType } from '@wordpress/blocks';
    import { useBlockProps, RichText } from '@wordpress/block-editor';

    registerBlockType( 'custom-block-example/custom-text-block', {
      title: 'Benutzerdefinierter Textblock',
      icon: 'edit',
      category: 'common',
      attributes: {
        content: {
          type: 'string',
          default: 'Hallo Welt!',
        },
      },
      edit: ( { attributes, setAttributes } ) => {
        const { content } = attributes;

        const onChangeContent = ( newContent ) => {
          setAttributes( { content: newContent } );
        };

        return (
          <div { ...useBlockProps() }>
            <RichText
              tagName="p"
              className="custom-text"
              placeholder="Geben Sie Ihren Text ein..."
              value={ content }
              onChange={ onChangeContent }
            />
          </div>
        );
      },
      save: ( { attributes } ) => {
        const { content } = attributes;
        return (
          <div { ...useBlockProps.save() }>
            <p className="custom-text">{ content }</p>
          </div>
        );
      },
    } );
  

Dieser Code registriert einen neuen Block mit dem Namen custom-block-example/custom-text-block. Der Block hat ein Attribut namens content, das den Text des Blocks speichert. Die edit-Funktion rendert den Editor-Teil des Blocks, während die save-Funktion den Inhalt speichert, der im Frontend angezeigt wird.

3. Konfigurieren Sie die Build-Umgebung

Um den JavaScript-Code in eine Version zu kompilieren, die von WordPress verwendet werden kann, benötigen Sie eine Build-Umgebung. Erstellen Sie eine package.json-Datei im Plugin-Verzeichnis mit dem folgenden Inhalt:


    {
      "name": "custom-block-example",
      "version": "1.0.0",
      "description": "A custom WordPress block example.",
      "main": "index.js",
      "scripts": {
        "build": "wp-scripts build",
        "start": "wp-scripts start"
      },
      "keywords": [
        "wordpress",
        "block",
        "gutenberg"
      ],
      "author": "Ihr Name",
      "license": "GPL-2.0-or-later",
      "devDependencies": {
        "@wordpress/scripts": "^26.5.0"
      }
    }
  

Installieren Sie die Abhängigkeiten, indem Sie im Plugin-Verzeichnis den Befehl npm install (oder yarn install) ausführen.

4. Erstellen Sie den Block

Führen Sie im Plugin-Verzeichnis den Befehl npm run build aus. Dadurch wird der JavaScript-Code in eine Datei namens index.js im build-Ordner kompiliert.

5. Aktivieren Sie das Plugin

Aktivieren Sie das Plugin “Custom Block Example” in Ihrer WordPress-Installation.

6. Verwenden Sie den Block

Erstellen Sie einen neuen Beitrag oder eine neue Seite in WordPress. Suchen Sie nach dem Block “Benutzerdefinierter Textblock” und fügen Sie ihn hinzu. Sie können nun den Text des Blocks direkt im Editor bearbeiten.

Fortgeschrittene Techniken

Nachdem Sie die Grundlagen der Blockentwicklung verstanden haben, können Sie fortgeschrittene Techniken einsetzen, um komplexere Blöcke zu erstellen. Einige Beispiele sind:

  • Verwenden von Attributen, um Daten zu speichern.
  • Erstellen von benutzerdefinierten Steuerelementen im Inspector-Panel.
  • Verwenden von APIs, um Daten aus externen Quellen abzurufen.
  • Erstellen von dynamischen Blöcken, die auf Server-Seite gerendert werden.

Verwenden von Attributen

Attribute sind Eigenschaften, die den Zustand eines Blocks speichern. Sie können verschiedene Datentypen wie Strings, Zahlen, Boolesche Werte und Arrays speichern. Attribute werden in der Blockdefinition definiert und können über die edit-Funktion des Blocks bearbeitet werden.

Erstellen von benutzerdefinierten Steuerelementen

Das Inspector-Panel ist ein Bereich im WordPress-Editor, in dem Benutzer die Einstellungen eines Blocks anpassen können. Sie können benutzerdefinierte Steuerelemente im Inspector-Panel erstellen, um Benutzern die Möglichkeit zu geben, Attribute des Blocks zu ändern. WordPress bietet verschiedene UI-Komponenten, die Sie für die Erstellung von Steuerelementen verwenden können, z. B. TextControl, SelectControl und ColorPicker.

Verwenden von APIs

Sie können APIs verwenden, um Daten aus externen Quellen abzurufen und in Ihrem Block anzuzeigen. Dies ist nützlich, wenn Sie beispielsweise Daten von einer Wetter-API, einer Social-Media-API oder einer E-Commerce-API abrufen möchten.

Erstellen von dynamischen Blöcken

Standardmäßig werden Blöcke im Frontend auf Client-Seite gerendert. Dies bedeutet, dass der Browser des Benutzers den HTML-Code für den Block generiert. Dynamische Blöcke werden stattdessen auf Server-Seite gerendert. Dies kann die Leistung verbessern und SEO-Vorteile bieten.

Best Practices

Bei der Entwicklung von benutzerdefinierten Blöcken sollten Sie die folgenden Best Practices beachten:

  • Verwenden Sie sprechende Blocknamen und -beschreibungen.
  • Halten Sie die Blockdefinitionen einfach und übersichtlich.
  • Verwenden Sie Kommentare, um Ihren Code zu dokumentieren.
  • Testen Sie Ihre Blöcke gründlich.
  • Verwenden Sie Version Control (z.B. Git), um Ihren Code zu verwalten.

Ressourcen

Hier sind einige nützliche Ressourcen für die Blockentwicklung:

Fazit

Die Entwicklung von benutzerdefinierten WordPress-Blöcken ist eine leistungsstarke Möglichkeit, die Funktionalität und Flexibilität des WordPress-Editors zu erweitern. Mit den richtigen Kenntnissen und Werkzeugen können Sie Blöcke erstellen, die perfekt auf die Bedürfnisse Ihrer Website oder Ihres Projekts zugeschnitten sind. In Deutschland gibt es eine wachsende Community von WordPress-Entwicklern, die Ihnen bei der Entwicklung Ihrer eigenen Blöcke helfen können. Nutzen Sie die oben genannten Ressourcen und beginnen Sie noch heute mit der Blockentwicklung!