Automattic\WooCommerce\Admin\Features\ProductBlockEditor

Init::enqueue_scripts()publicWC 1.0

Enqueue scripts needed for the product form block editor.

Метод класса: Init{}

Хуков нет.

Возвращает

null. Ничего.

Использование

$Init = new Init();
$Init->enqueue_scripts();

Код Init::enqueue_scripts() WC 7.7.2

public function enqueue_scripts() {
	if ( ! PageController::is_admin_or_embed_page() ) {
		return;
	}
	$post_type_object     = get_post_type_object( 'product' );
	$block_editor_context = new WP_Block_Editor_Context( array( 'name' => self::EDITOR_CONTEXT_NAME ) );

	$editor_settings = array();
	if ( ! empty( $post_type_object->template ) ) {
		$editor_settings['template']     = $post_type_object->template;
		$editor_settings['templateLock'] = ! empty( $post_type_object->template_lock ) ? $post_type_object->template_lock : false;
	}

	$editor_settings = get_block_editor_settings( $editor_settings, $block_editor_context );

	$script_handle = 'wc-admin-edit-product';
	wp_register_script( $script_handle, '', array(), '0.1.0', true );
	wp_enqueue_script( $script_handle );
	wp_add_inline_script(
		$script_handle,
		'var productBlockEditorSettings = productBlockEditorSettings || ' . wp_json_encode( $editor_settings ) . ';',
		'before'
	);
	wp_add_inline_script(
		$script_handle,
		sprintf( 'wp.blocks.setCategories( %s );', wp_json_encode( $editor_settings['blockCategories'] ) ),
		'before'
	);
}