wp.blocks.registerBlockStyle("core/button", {
name: "btn",
label: "pic - default",
isDefault: true
});
wp.blocks.registerBlockStyle("core/button", {
name: "btn btn-white",
label: "pic - white btn"
});
wp.domReady( function () {
wp.blocks.unregisterBlockStyle( 'core/button', 'outline' );
wp.blocks.unregisterBlockStyle( 'core/button', 'fill' );
});
<?php
/*
This was created by pic to modify the default styles for the buttons.
*/
class PIC_Button
{
function __construct()
{
add_action('enqueue_block_editor_assets', array($this, 'adminAssets'));
add_filter('render_block', array($this, 'wporg_block_wrapper'), 10, 2);
}
function adminAssets() {
wp_enqueue_script('pic-button', '/wp-content/themes/piconsulting/blocks/button/button.js', array('wp-blocks', 'wp-dom-ready', 'wp-edit-post', 'wp-element'));
}
function wporg_block_wrapper($block_content, $block) {
if ($block['blockName'] === 'core/button') {
$class = $block['attrs']['className'];
if (strpos($class, "white") !== false) {
$block_content = str_replace('wp-block-button__link', 'wp-block-button__link btn btn-white', $block_content);
return $block_content;
}
$block_content = str_replace('wp-block-button__link', 'wp-block-button__link btn', $block_content);
return $block_content;
}
return $block_content;
}
}
$PIC_Button = new PIC_Button();