Marinus Klasen

Marinus Klasen

  • Development
  • Consultancy
  • Developer Resources
  • Blog
  • Contact

May 11, 2022

Registering block styles in WordPress with PHP

Marinus Klasen

Sometimes you just want a block to show up a little different than the options that WordPress, or your theme provides by default. In those cases it’s nice and easy to just add a simple PHP plugin, or add a few lines of code to your functions.php

It’s possible to influence the various options for block styling in PHP, when hooking into the after_setup_theme action.

The code below adds a “clean” button option to the button block. After adding the code, it shows up in the block editor and when you select it the block is rendered with an extra CSS class: is-style-clean.

The code

add_action(
	'after_setup_theme',
	function() {
		register_block_style(
			'core/button',
			array(
				'name'  => 'clean',
				'label' => __( 'Clean' ),
			)
		);
	}
);

The code in a plugin

<?php
/**
* Plugin Name: Clean style for button block
*/

add_action(
	'after_setup_theme',
	function() {
		register_block_style(
			'core/button',
			array(
				'name'  => 'clean',
				'label' => __( 'Clean' ),
			)
		);
	}
);

You can save the code above in a PHP file and upload it in your wp-content/pluginsfolder, or compress it in a ZIP file and upload that ZIP file in your WordPress dashboard.

Looking to build a plugin from scratch?

Check out the plugin generator on getpremia.com for a solid start that allows you to go Premium in a heartbeat!

About Marinus Klasen

Marinus has been working in software/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge.

Marinus Klasen on Twitter

This site runs on Cloudways.
It's fast isn't it?
Cloudways offers high-quality, fast and affordable hosting.

Learn more

Need a hand? Post your project and hire me and other top notch developers on Codeable.

Hire me on Codeable

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Ready to take action?

I'm looking forward to discuss your projects and goals!
Feel free to reach out using the contact details below.

Marinus Klasen

[email protected]
twitter.com/marinusklasen
linkedin.com/in/marinusklasen

  • GitHub
  • LinkedIn
  • Twitter

Have you read?

  • Storing private data with SSH on WPEngine sitesDecember 15, 2022
  • Get the HTML content of a block edit page or post in WordPressNovember 30, 2022
  • Rename Coupon code text to Discount code in WoocommerceNovember 3, 2022
  • Background-size cover in mPDFOctober 22, 2022
  • WordPress.com SSH & duplicating a WordPress.com website locallyOctober 11, 2022

Copyright © 2023 · Marinus Klasen | Webdesign by Team Rood