Desarrollar un tema de bloques de WordPress de cero

Algún apuntillo: lo mejor es tener la última versión de node instalada.

Primero crea un tema con el «Create Block Theme» plugin desde cero.

Inicializa npm dentro de la carpeta del tema:

npm init -y

instala las dependencias

npm install --save-dev autoprefixer postcss-cli sass terser chokidar-cli npm-run-all

Crea las carpeta assets con esta estructura:

your-theme/
│
├── assets/
│   ├── scss/
│   │   └── style.scss
│   ├── js/
│   │   └── main.js
│   └── fonts/
│       └── (tus fuentes)
│
├── templates/
├── theme.json
├── functions.php
├── style.css
└── ...

Cambia el package.json

"scripts": {
    "build:css": "sass assets/scss/style.scss style.css --no-source-map",
    "prefix:css": "postcss style.css --use autoprefixer -o style.css",
    "build:js": "terser assets/js/main.js -o assets/js/main.min.js",
    "build": "npm run build:css && npm run prefix:css && npm run build:js",
    "watch:css": "sass --watch assets/scss/style.scss:style.css",
    "watch:js": "chokidar 'assets/js/**/*.js' -c 'npm run build:js'",
    "watch": "npm-run-all --parallel watch:css watch:js"
  }

Crea tu functions.php

<?php
// functions.php

if ( ! defined( 'ABSPATH' ) ) {
	exit; 
}

function yourtheme_enqueue() {
	wp_enqueue_style('yourtheme-style', get_stylesheet_uri());
	wp_enqueue_script('yourtheme-scripts', get_template_directory_uri() . '/assets/js/main.min.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'yourtheme_enqueue');

function yourtheme_enqueue_block_editor_assets() {
	wp_enqueue_style('yourtheme-editor-style', get_template_directory_uri() . '/style.css');
}
add_action('enqueue_block_editor_assets', 'yourtheme_enqueue_block_editor_assets');

Algunos comandos:

Para compilar los SCSS y aplicar autoprefixer

npm run build

Para observar cambios en los archivos SCSS y JS (ejecutar al volver al proyecto)

npm run watch

Y cambiar la variable en entornos de desarrollos donde node no está en la ruta común

export PATH=/opt/alt/alt-nodejs22/root/bin:$PATH

¿Te ha gustado?

Tengo una newsletter que alguna vez retomaré y seguramente sea pronto, así que te animo a que te suscribas para enviarte más cositas monas y desafiantes.

Formulario de suscripción

Al darte de alta en mi boletín, me comprometo a:

 1  Hablar de lo que me preocupa en la actualidad cultural y de las cosas con las que estoy disfrutando en ese momento con la intención de que te rumie la cabeza y podamos tener una conversación cultural activa.
 2  Contestarte si me escribes comentando algún tema del tratado en el correo correspondiente.
 3  Poner colorinchis y gifs monis.
 4  No mirar si te das de baja. Esta es una lista que no juzga, simplemente es disfrutona. Tampoco tiene métricas, los correos se envían a través de un servicio de envío de emails de sendgrid pero el sistema de envío es por medio de un plugin que he creado yo en WordPress. No hay proveedores de terceros que me digan «qué correo funciona más». Directamente paso del capitalismo.
 5  De vez en cuando te enviaré cosillas en las que participo u organizo. La mayoría son en Alicante y gratuitas, aunque si hay algo de pago, como un libro o curso o lo que sea, ¡será previamente avisado!

Nombre
Email *

Estos datos los gestiono yo misma, Flavia Bernárdez Rodríguez y están alojados en el servidor de Nicalia (una empresa de hosting sostenible buenísima cuyo datacenter está en España). Usaré los datos para enviarte emails sobre las cosas que hago, organizo o pienso. Te podrás dar de baja cuando quieras, bien cuando te envíe un mail, o bien diciéndomelo por cualquier método de contacto.

Habrás recibido un correo para confirmar tu suscripción

Tuvimos un error, por favor revisa y prueba de nuevo