BlockRegistry
in package
Product block registration and style registration functionality.
Table of Contents
- GENERIC_BLOCKS = array('woocommerce/conditional', 'woocommerce/product-checkbox-field', 'woocommerce/product-collapsible', 'woocommerce/product-radio-field', 'woocommerce/product-pricing-field', 'woocommerce/product-section', 'woocommerce/product-section-description', 'woocommerce/product-subsection', 'woocommerce/product-subsection-description', 'woocommerce/product-details-section-description', 'woocommerce/product-tab', 'woocommerce/product-toggle-field', 'woocommerce/product-taxonomy-field', 'woocommerce/product-text-field', 'woocommerce/product-text-area-field', 'woocommerce/product-number-field', 'woocommerce/product-linked-list-field', 'woocommerce/product-select-field')
- Array of all available generic blocks.
- GENERIC_BLOCKS_DIR = 'product-editor/blocks/generic'
- Generic blocks directory.
- PRODUCT_FIELDS_BLOCKS = array('woocommerce/product-catalog-visibility-field', 'woocommerce/product-custom-fields', 'woocommerce/product-custom-fields-toggle-field', 'woocommerce/product-description-field', 'woocommerce/product-downloads-field', 'woocommerce/product-images-field', 'woocommerce/product-inventory-email-field', 'woocommerce/product-sku-field', 'woocommerce/product-name-field', 'woocommerce/product-regular-price-field', 'woocommerce/product-sale-price-field', 'woocommerce/product-schedule-sale-fields', 'woocommerce/product-shipping-class-field', 'woocommerce/product-shipping-dimensions-fields', 'woocommerce/product-summary-field', 'woocommerce/product-tag-field', 'woocommerce/product-inventory-quantity-field', 'woocommerce/product-variation-items-field', 'woocommerce/product-password-field', 'woocommerce/product-list-field', 'woocommerce/product-has-variations-notice', 'woocommerce/product-single-variation-notice')
- Array of all available product fields blocks.
- PRODUCT_FIELDS_BLOCKS_DIR = 'product-editor/blocks/product-fields'
- Product fields blocks directory.
- $instance : BlockRegistry
- Singleton instance.
- get_instance() : BlockRegistry
- Get the singleton instance.
- is_registered() : bool
- Check if a block is registered.
- register_block_type_from_metadata() : WP_Block_Type|false
- Register a block type from metadata stored in the block.json file.
- register_categories() : mixed
- Register product related block categories.
- unregister() : mixed
- Unregister a block.
- __construct() : mixed
- Constructor
- augment_attributes() : mixed
- Augment the attributes of a block by adding attributes that are used by the product editor.
- augment_uses_context() : mixed
- Augment the uses_context of a block by adding attributes that are used by the product editor.
- get_file_path() : mixed
- Get a file path for a given block file.
- register_block() : WP_Block_Type|false
- Register a single block.
- register_product_blocks() : mixed
- Register all the product blocks.
- remove_block_prefix() : string
- Get the block name without the "woocommerce/" prefix.
Constants
GENERIC_BLOCKS
Array of all available generic blocks.
public
mixed
GENERIC_BLOCKS
= array('woocommerce/conditional', 'woocommerce/product-checkbox-field', 'woocommerce/product-collapsible', 'woocommerce/product-radio-field', 'woocommerce/product-pricing-field', 'woocommerce/product-section', 'woocommerce/product-section-description', 'woocommerce/product-subsection', 'woocommerce/product-subsection-description', 'woocommerce/product-details-section-description', 'woocommerce/product-tab', 'woocommerce/product-toggle-field', 'woocommerce/product-taxonomy-field', 'woocommerce/product-text-field', 'woocommerce/product-text-area-field', 'woocommerce/product-number-field', 'woocommerce/product-linked-list-field', 'woocommerce/product-select-field')
GENERIC_BLOCKS_DIR
Generic blocks directory.
public
mixed
GENERIC_BLOCKS_DIR
= 'product-editor/blocks/generic'
PRODUCT_FIELDS_BLOCKS
Array of all available product fields blocks.
public
mixed
PRODUCT_FIELDS_BLOCKS
= array('woocommerce/product-catalog-visibility-field', 'woocommerce/product-custom-fields', 'woocommerce/product-custom-fields-toggle-field', 'woocommerce/product-description-field', 'woocommerce/product-downloads-field', 'woocommerce/product-images-field', 'woocommerce/product-inventory-email-field', 'woocommerce/product-sku-field', 'woocommerce/product-name-field', 'woocommerce/product-regular-price-field', 'woocommerce/product-sale-price-field', 'woocommerce/product-schedule-sale-fields', 'woocommerce/product-shipping-class-field', 'woocommerce/product-shipping-dimensions-fields', 'woocommerce/product-summary-field', 'woocommerce/product-tag-field', 'woocommerce/product-inventory-quantity-field', 'woocommerce/product-variation-items-field', 'woocommerce/product-password-field', 'woocommerce/product-list-field', 'woocommerce/product-has-variations-notice', 'woocommerce/product-single-variation-notice')
PRODUCT_FIELDS_BLOCKS_DIR
Product fields blocks directory.
public
mixed
PRODUCT_FIELDS_BLOCKS_DIR
= 'product-editor/blocks/product-fields'
Properties
$instance
Singleton instance.
private
static BlockRegistry
$instance
= null
Methods
get_instance()
Get the singleton instance.
public
static get_instance() : BlockRegistry
Return values
BlockRegistry —is_registered()
Check if a block is registered.
public
is_registered(string $block_name) : bool
Parameters
- $block_name : string
-
Block name.
Return values
bool —register_block_type_from_metadata()
Register a block type from metadata stored in the block.json file.
public
register_block_type_from_metadata(string $file_or_folder) : WP_Block_Type|false
Parameters
- $file_or_folder : string
-
Path to the JSON file with metadata definition for the block or path to the folder where the
block.json
file is located.
Return values
WP_Block_Type|false — The registered block type on success, or false on failure.register_categories()
Register product related block categories.
public
register_categories(array<string|int, array<string|int, mixed>> $block_categories, WP_Block_Editor_Context $editor_context) : mixed
Parameters
- $block_categories : array<string|int, array<string|int, mixed>>
-
Array of categories for block types.
- $editor_context : WP_Block_Editor_Context
-
The current block editor context.
Return values
mixed —unregister()
Unregister a block.
public
unregister(string $block_name) : mixed
Parameters
- $block_name : string
-
Block name.
Return values
mixed —__construct()
Constructor
protected
__construct() : mixed
Return values
mixed —augment_attributes()
Augment the attributes of a block by adding attributes that are used by the product editor.
private
augment_attributes(array<string|int, mixed> $attributes) : mixed
Parameters
- $attributes : array<string|int, mixed>
-
Block attributes.
Return values
mixed —augment_uses_context()
Augment the uses_context of a block by adding attributes that are used by the product editor.
private
augment_uses_context(array<string|int, mixed> $uses_context) : mixed
Parameters
- $uses_context : array<string|int, mixed>
-
Block uses_context.
Return values
mixed —get_file_path()
Get a file path for a given block file.
private
get_file_path(string $path, string $dir) : mixed
Parameters
- $path : string
-
File path.
- $dir : string
-
File directory.
Return values
mixed —register_block()
Register a single block.
private
register_block(string $block_name, string $block_dir) : WP_Block_Type|false
Parameters
- $block_name : string
-
Block name.
- $block_dir : string
-
Block directory.
Return values
WP_Block_Type|false — The registered block type on success, or false on failure.register_product_blocks()
Register all the product blocks.
private
register_product_blocks() : mixed
Return values
mixed —remove_block_prefix()
Get the block name without the "woocommerce/" prefix.
private
remove_block_prefix(string $block_name) : string
Parameters
- $block_name : string
-
Block name.