Office Hours Notes: New Product Editor Experience

In a recent office hours session on the WooCommerce Slack channel, we gathered to discuss the New Product Editor experience. The conversation covered a range of topics, from extension development challenges to the capabilities of the upcoming WooCommerce version. Here’s a summary of the questions and answers:

Timeline for New Product Editor by default:

Is there an approximate timeline for making the New Product Editor the standard one? 

Response:

No specific timeline is provided, but an announcement on the timeline is expected in the January-February timeframe.

Extension Development and Custom UI:

Are there any examples of use cases that needed to create a totally custom UI?

Response:

Documentation and a developer blog post covering custom UI development were in progress. An example GitHub repository exists for those interested in exploring a sneak preview. It’s important to note that the functionality in the tutorial is dependent on the upcoming WooCommerce 8.5, which currently requires using a nightly build, which can be found here.

Product Editor Functionality and Compatibility:

Will the New Product Editor support all current product types, including simple and variable products & subscriptions?

Response:

The New Product Editor would indeed work with all product types. Currently, simple, variable, digital products are already supported. Grouped and external products will be supported with the next WC release. 

Experiences such as variable subscriptions, which are in Woo built extensions, will be getting updated over time.

More information about the plans for the editor and a link to the roadmap page can be found in this intro post.

Generic blocks in the New Product Editor:

Are there any plans to add a block providing <SELECT> capabilities in the product editor?

Response:

Although we don’t have a set deadline we can share, the teams are working on a “select” block and other useful generic blocks which will be available in the near future 

You can follow the GitHub issue for the select block here.

Compatibility with ACF and Product Import/Export:

I’m using ACF (Advanced Custom Fields plugin) to add custom fields to the product page. Is it possible to replace these as block fields and use the import export tool right out of the box?

Response:

It’s possible at present to accomplish, but ACF will have to update their plugin to parse the saved fields into blocks.

As far as importing/exporting fields goes, this should work identically to the way it did before.  ACF stores fields as custom post types, and this underlying data structure will likely remain the same.

Can products with custom fields added through a block extension be imported/exported without ACF?

Response

Yes, importing custom meta fields is possible, but a plugin or code is needed to convert the data into blocks for display on the frontend.

Data Storage in the New Product Editor:

Does using the provided blocks enforce a specific data storage structure, or is it data-agnostic?

Response:

The product editor uses WP entity data stores, and as long as the field is included in the REST API product endpoint, any data can be retrieved and updated.

As a result of this question, we have added an issue to improve the documentation to include an outline of how data is retrieved and updated, detailing usage of the entity data store, the rest endpoints, and how to extend these.

Adding Fields to Individual Variations:

Is there documentation on adding fields to individual variations in the new block-based editor?

Response:

While there might not be documentation yet, it’s possible to add, edit, or remove fields for individual variations.

The team shared a snippet from an extension they’re migrating:

if ( $inventory_tab->get_root_template()->get_id() === 'simple-product' ) {

$this->add_blocks_to_simple_product_template( $inventory_tab );

} elseif ( $inventory_tab->get_root_template()->get_id() === 'product-variation' ) {

$this->add_blocks_to_product_variation_template( $inventory_tab );

}

Plugin Compatibility Declaration:

How can plugins declare compatibility with the New Product Editor?

Response

Although this is not being enforced yet, you should use the FeaturesUtil::declare_compatibility function to declare compatibility with product_block_editor if your plugin is compatible.

\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'product_block_editor', __FILE__ );

Thank you

Our team really enjoyed this last office hours, and we valued how many of you shared your current successes and challenges with the new product editor. Your feedback is crucial in refining and enhancing this new editor experience. Just because office hours are over, doesn’t mean the conversation has stopped. Head over to the GitHub Discussions board dedicated to the WooCommerce New Product Editor to give us your thoughts on current and upcoming features we are working on.

Thanks again to everyone who participated!


Leave a Reply

Your email address will not be published. Required fields are marked *