Come creare blocchi Gutenberg personalizzati – WordPress Gutenberg Blocks

WordPress Gutenberg Blocks, cosa sono? Rispetto al precedente editor, Gutenberg fornisce una libreria di elementi predefiniti detti “blocchi” che puoi utilizzare nelle tue pagine e nei tuoi post. Ma stiamo parlando di WordPress, quindi possiamo …

Wordpress Gutenberg Blocks

WordPress Gutenberg Blocks, cosa sono? Rispetto al precedente editor, Gutenberg fornisce una libreria di elementi predefiniti detti “blocchi” che puoi utilizzare nelle tue pagine e nei tuoi post. Ma stiamo parlando di WordPress, quindi possiamo usare i blocchi per funzionalità personalizzate.

In altre parole, è possibile costruire i propri blocchi personalizzati. C’è bisogno di conoscere PHP e React, ma il processo in sé è relativamente semplice. Inoltre, la creazione di blocchi personalizzati per le funzionalità che desideri riutilizzare può essere molto utile.

Perché potresti aver bisogno di creare WordPress Gutenberg Blocks?

Ci sono già a disposizione un sacco di plugin che aggiungono nuovi blocchi al Block Editor di WordPress come ad esempio, Atomic Blocks oppure Stackable e tanti altri, ma se c’è un blocco particolare che vorresti utilizzare e non riesci a trovarlo, non ti rimane che creare un blocco personalizzato da usare con l’editor Gutenberg.

Come creare manualmente WordPress Gutenberg Blocks (in 2 passaggi)

L’ API Block di Gutenberg Editor è lo strumento di cui avrai bisogno. In questa sezione, ti aiuterò a configurare un nuovo plugin per aggiungere un blocco al tuo editor. Per fare ciò, tutto ciò di cui hai bisogno sono due file (e del codice).

Passaggio 1: crea un plug-in per richiamare i tuoi file di blocco

Il modo più pulito per creare un blocco Editor Gutenberg personalizzato è impostare un plug-in che “accoda” o richiama i tuoi script di blocco e li aggiunge all’editor.

Per iniziare, accedi al tuo sito Web tramite FTP. Una volta entrato, vai alla tua cartella root di WordPress e nella directory wp-content/plugins troverai le cartelle di tutti i plugin presenti sul tuo sito web.

Crea una nuova cartella. In questo tutorial la chiameremo test-block, ma ovviamente puoi dargli il nome che desideri

Apri la cartella, crea un nuovo file .php (dandogli lo stesso nome della cartella), quindi apri il file vuoto e aggiungi il seguente codice:

<?php
/**
 * Plugin Name: Block Test Plugin
 * Author: Marco Brughi
 * Version: 1.0.0
 */
  
function load_Block() {
  wp_enqueue_script(
    'my-custom-block',
    plugin_dir_url(__FILE__) . 'custom-block.js',
    array('wp-blocks','wp-editor'),
    true
  );
}
   
add_action('enqueue_block_editor_assets', 'load_Block');

Con questo codice abbiamo semplicemente creato una funzione per caricare in coda il nostro script di blocco che abbiamo chiamato custom-block.js , chiaramente il file ancora non esiste lo creeremo più avanti.

Inoltre, la funzione include anche due dipendenze di script: wp-blocks e wp-editor. La prima gestisce la registrazione dei blocchi tra le altre funzionalità, mentre wp-editor include diversi componenti di base di cui potresti aver bisogno, tipo Rich Text.

Passaggio 2: registra il tuo blocco e configura i suoi attributi

Il file PHP di base del plugin è pronto, quindi è venuto il momento di scrivere il file Javascript custom-block.js nella stessa directory principale del plugin.

/* Questa sezione del codice registra un nuovo blocco, imposta un'icona e una categoria e indica quale tipo di campi includerà. */
  
wp.blocks.registerBlockType('brad/border-box', {
  title: 'Simple Box',
  icon: 'smiley',
  category: 'common',
  attributes: {
    content: {type: 'string'},
    color: {type: 'string'}
  },
  
/* Questo configura come funzioneranno i campi di contenuto e colore e imposta gli elementi necessari */
  
  edit: function(props) {
    function updateContent(event) {
      props.setAttributes({content: event.target.value})
    }
    function updateColor(value) {
      props.setAttributes({color: value.hex})
    }
    return React.createElement(
      "div",
      null,
      React.createElement(
        "h3",
        null,
        "Simple Box"
      ),
      React.createElement("input", { type: "text", value: props.attributes.content, onChange: updateContent }),
      React.createElement(wp.components.ColorPicker, { color: props.attributes.color, onChangeComplete: updateColor })
    );
  },
  save: function(props) {
    return wp.element.createElement(
      "h3",
      { style: { border: "3px solid " + props.attributes.color } },
      props.attributes.content
    );
  }
})

Utilizziamo JavaScript e React per impostare il tutto, cioè registra e configura gli attributi di base del blocco. Dopo la sezione iniziale, viene configurato il modo in cui i campi dovrebbero funzionare. Questo esempio include un campo di testo e un selettore di colori per il bordo.

A questo punto salviamo il file custom-block.js, e attiviamo il plugin da WordPress per vedere se è tutto a posto ed il risultato.

Questo è un blocco semplice, ma comprende i fondamenti più importanti che possono essere poi usati nei nostri progetti. Sia che i blocchi abbiano codice semplici o più complesso, questo è tutto quello che serve pubblicare un blocco.

E’ bene conoscere Javascript poiché l’Editor blocchi utilizza ampiamente questo linguaggio. È un po’ diverso dal lavorare principalmente con PHP, ma si possono fare ottimi lavori, anzi l’applicazione dei due linguaggi insieme porterà a risultati a volte insperati e sicuramente di ottimo livello.

Lascia un commento