# Register Your Own Block Pattern

> Adds a reusable "Call to action" pattern in its own "My Patterns" category to the block inserter, as a starting point for your own patterns.

- Type: PHP
- Runs: Run everywhere
- Category: [Block Editor](https://wpide.com/library/category/gutenberg/)
- Tags: patterns, blocks, editor
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/register-custom-block-pattern/

## Code

```php
add_action( 'init', function () {
    register_block_pattern_category( 'wpide-patterns', array( 'label' => 'My Patterns' ) );

    register_block_pattern( 'wpide/call-to-action', array(
        'title'       => 'Call to action',
        'description' => 'A centered heading, short text and a button.',
        'categories'  => array( 'wpide-patterns', 'call-to-action' ),
        'keywords'    => array( 'cta', 'button', 'banner' ),
        'content'     => '<!-- wp:group {"style":{"spacing":{"padding":{"top":"3em","bottom":"3em","left":"2em","right":"2em"}}},"layout":{"type":"constrained"}} -->
<div class="wp-block-group" style="padding-top:3em;padding-right:2em;padding-bottom:3em;padding-left:2em"><!-- wp:heading {"textAlign":"center"} -->
<h2 class="wp-block-heading has-text-align-center">Ready to get started?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph {"align":"center"} -->
<p class="has-text-align-center">Tell visitors what they get and why it matters.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contact/">Contact us</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons --></div>
<!-- /wp:group -->',
    ) );
} );
```

## Notes

Design the layout in the editor, copy it with "Copy" from the block toolbar and paste the markup into the content setting.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Register Your Own Block Pattern" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
