Extension blocks
Let’s carry out through an example how to add a block style, extend the block editor and improve the design by CSS in WordPress.
This example adds a class of its own to a block. Let’s see how to add a new style of quotes (“) to the quotes block.
We are going to add a plugin, for this we create a folder inside plugins, with three files:
guten-plugin.php
quotes.js
style.css
Add the following code to the guten-plugin.php file, with which we define the plugin and indicate the files on which it is based:
<?php /* **************************************************** *********** * Plugin Name: Doowebs Gutenberg blocks * Description: Gutenberg blocks. * Author: Doowebs * Version: 1.0 **************************************************** *********** */ function myguten_enqueue() { wp_enqueue_script('myguten-script', plugins_url( 'quotes.js', __FILE__ ) ); } add_action( 'enqueue_block_editor_assets', 'myguten_enqueue' ); function myguten_stylesheet() { wp_enqueue_style( 'mygutenstyle', plugins_url( 'style.css', __FILE__) ); } add_action( 'enqueue_block_assets', 'myguten_stylesheet' ); ?>
In the quotes.js file, it is indicated in which block (core/quote) we want to add the new quote style (quote) for quotes, with its name and label:
quotes.js
wp.blocks.registerBlockStyle( 'core/quote', { name: 'modern-quote', label: 'Modern Quotes' } );
and the styles file with which to control the styles with which it will be displayed in the front-end:
style.css
.is-style-modern-quote { color: #25343D; font-size: 21px; font-weight: bold; margin: 0 56px 0 56px; } .is-style-modern-quote::before { content: '“'; font-size: 96px; font-family: serif; color: #71EB6C; margin: -20px 0px -120px -55px; display: block; } .is-style-modern-quote::after { content: '”'; font-size: 96px; font-family: serif; color: #71EB6C; margin: -100px -60px -25px 0px; display: block; text-align: end; } .is-style-modern-quote cite { color: #25343D; font-size: 14px; font-weight: normal; font-style: italic; text-align: end; transform: translateY(-25px); display: block; }
After you have updated the JavaScript and PHP files, activate the created plugin and go to the block editor, where you can use the created quota style for appointments.