wppaste
WordPress

WP_Block_Patterns_Registry

Since
5.5.0
Source
wp-includes/class-wp-block-patterns-registry.php:15
Class used for interacting with block patterns.

Compatibility

WordPress
since 5.5.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Properties · 3

$registered_patternsarray[]private
Registered block patterns array.
$registered_patterns_outside_initarray[]private
Patterns registered outside the init action.
$instanceWP_Block_Patterns_Registry|nullprivate static
Container for the main instance of the class.

Methods · 8

Source code

#[AllowDynamicProperties]final class WP_Block_Patterns_Registry {	/**	 * Registered block patterns array.	 *	 * @since 5.5.0	 * @var array[]	 */	private $registered_patterns = array(); 	/**	 * Patterns registered outside the `init` action.	 *	 * @since 6.0.0	 * @var array[]	 */	private $registered_patterns_outside_init = array(); 	/**	 * Container for the main instance of the class.	 *	 * @since 5.5.0	 * @var WP_Block_Patterns_Registry|null	 */	private static $instance = null; 	/**	 * Registers a block pattern.	 *	 * @since 5.5.0	 * @since 5.8.0 Added support for the `blockTypes` property.	 * @since 6.1.0 Added support for the `postTypes` property.	 * @since 6.2.0 Added support for the `templateTypes` property.	 * @since 6.5.0 Added support for the `filePath` property.	 *	 * @param string $pattern_name       Block pattern name including namespace.	 * @param array  $pattern_properties {	 *     List of properties for the block pattern.	 *	 *     @type string   $title         Required. A human-readable title for the pattern.	 *     @type string   $content       Optional. Block HTML markup for the pattern.	 *                                   If not provided, the content will be retrieved from the `filePath` if set.	 *                                   If both `content` and `filePath` are not set, the pattern will not be registered.	 *     @type string   $description   Optional. Visually hidden text used to describe the pattern	 *                                   in the inserter. A description is optional, but is strongly	 *                                   encouraged when the title does not fully describe what the	 *                                   pattern does. The description will help users discover the	 *                                   pattern while searching.	 *     @type int      $viewportWidth Optional. The intended width of the pattern to allow for a scaled	 *                                   preview within the pattern inserter.	 *     @type bool     $inserter      Optional. Determines whether the pattern is visible in inserter.	 *                                   To hide a pattern so that it can only be inserted programmatically,	 *                                   set this to false. Default true.	 *     @type string[] $categories    Optional. A list of registered pattern categories used to group	 *                                   block patterns. Block patterns can be shown on multiple categories.	 *                                   A category must be registered separately in order to be used here.	 *     @type string[] $keywords      Optional. A list of aliases or keywords that help users discover	 *                                   the pattern while searching.	 *     @type string[] $blockTypes    Optional. A list of block names including namespace that could use	 *                                   the block pattern in certain contexts (placeholder, transforms).	 *                                   The block pattern is available in the block editor inserter	 *                                   regardless of this list of block names.	 *                                   Certain blocks support further specificity besides the block name	 *                                   (e.g. for `core/template-part` you can specify areas	 *                                   like `core/template-part/header` or `core/template-part/footer`).	 *     @type string[] $postTypes     Optional. An array of post types that the pattern is restricted	 *                                   to be used with. The pattern will only be available when editing one	 *                                   of the post types passed on the array. For all the other post types	 *                                   not part of the array the pattern is not available at all.	 *     @type string[] $templateTypes Optional. An array of template types where the pattern fits.	 *     @type string   $filePath      Optional. The full path to the file containing the block pattern content.	 * }	 * @return bool True if the pattern was registered with success and false otherwise.	 */	public function register( $pattern_name, $pattern_properties ) {		if ( ! isset( $pattern_name ) || ! is_string( $pattern_name ) ) {			_doing_it_wrong(				__METHOD__,				__( 'Pattern name must be a string.' ),				'5.5.0'

Changelog

Introduced in 5.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/class-wp-block-patterns-registry.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.