__( 'Enables experimental blocks on a rolling basis as they are developed.

(Warning: these blocks may have significant changes during development that cause validation errors and display issues.)

', 'gutenberg' ), 'id' => 'gutenberg-block-experiments', ) ); add_settings_field( 'gutenberg-form-blocks', __( 'Blocks: add Form and input blocks', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables new blocks to allow building forms. You are likely to experience UX issues that are being addressed.', 'gutenberg' ), 'id' => 'gutenberg-form-blocks', ) ); add_settings_field( 'gutenberg-grid-interactivity', __( 'Blocks: add Grid interactivity', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables enhancements to the Grid block that let you move and resize items in the editor canvas.', 'gutenberg' ), 'id' => 'gutenberg-grid-interactivity', ) ); add_settings_field( 'gutenberg-no-tinymce', __( 'Blocks: disable TinyMCE and Classic block', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Disables the TinyMCE and Classic block.', 'gutenberg' ), 'id' => 'gutenberg-no-tinymce', ) ); add_settings_field( 'gutenberg-media-processing', __( 'Client-side media processing', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables client-side media processing to leverage the browser\'s capabilities to handle tasks like image resizing and compression.', 'gutenberg' ), 'id' => 'gutenberg-media-processing', ) ); add_settings_field( 'gutenberg-sync-collaboration', __( 'Collaboration: add real time editing', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables live collaboration and offline persistence between peers.', 'gutenberg' ), 'id' => 'gutenberg-sync-collaboration', ) ); add_settings_field( 'gutenberg-color-randomizer', __( 'Color randomizer', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables the Global Styles color randomizer in the Site Editor; a utility that lets you mix the current color palette pseudo-randomly.', 'gutenberg' ), 'id' => 'gutenberg-color-randomizer', ) ); add_settings_field( 'gutenberg-new-posts-dashboard', __( 'Data Views: enable for Posts', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables a redesigned posts dashboard accessible through a submenu item in the Gutenberg plugin.', 'gutenberg' ), 'id' => 'gutenberg-new-posts-dashboard', ) ); add_settings_field( 'gutenberg-quick-edit-dataviews', __( 'Data Views: add Quick Edit', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables access to a Quick Edit panel in the Site Editor Pages experience.', 'gutenberg' ), 'id' => 'gutenberg-quick-edit-dataviews', ) ); add_settings_field( 'gutenberg-dataviews-media-modal', __( 'Data Views: new media modal', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables a new media modal experience powered by Data Views for improved media library management.', 'gutenberg' ), 'id' => 'gutenberg-dataviews-media-modal', ) ); add_settings_field( 'gutenberg-full-page-client-side-navigation', __( 'Interactivity API: Full-page client-side navigation', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables full-page client-side navigation, powered by the Interactivity API.', 'gutenberg' ), 'id' => 'gutenberg-full-page-client-side-navigation', ) ); add_settings_field( 'gutenberg-content-only-pattern-insertion', __( 'contentOnly: Make patterns contentOnly by default upon insertion', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'When patterns are inserted, default to a simplified content only mode for editing pattern content.', 'gutenberg' ), 'id' => 'gutenberg-content-only-pattern-insertion', ) ); add_settings_field( 'gutenberg-content-only-inspector-fields', __( 'contentOnly: Enable editable inspector fields', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables editable inspector fields (media, links, alt text, etc.) in the content-only pattern editing interface. Requires "contentOnly: Make patterns contentOnly by default upon insertion" to be enabled.', 'gutenberg' ), 'id' => 'gutenberg-content-only-inspector-fields', 'requires' => 'gutenberg-content-only-pattern-insertion', ) ); add_settings_field( 'gutenberg-workflow-palette', __( 'Workflow Palette', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables the Workflow Palette for running workflows composed of abilities, from a unified interface.', 'gutenberg' ), 'id' => 'gutenberg-workflow-palette', ) ); add_settings_field( 'gutenberg-customizable-navigation-overlays', __( 'Customizable Navigation Overlays', 'gutenberg' ), 'gutenberg_display_experiment_field', 'gutenberg-experiments', 'gutenberg_experiments_section', array( 'label' => __( 'Enables custom mobile overlay design and content control for Navigation blocks, allowing you to create flexible, professional menu experiences.', 'gutenberg' ), 'id' => 'gutenberg-customizable-navigation-overlays', ) ); register_setting( 'gutenberg-experiments', 'gutenberg-experiments' ); } add_action( 'admin_init', 'gutenberg_initialize_experiments_settings' ); /** * Display a checkbox field for a Gutenberg experiment. * * @since 6.3.0 * * @param array $args ( $label, $id ). */ function gutenberg_display_experiment_field( $args ) { $options = get_option( 'gutenberg-experiments' ); $value = isset( $options[ $args['id'] ] ) ? 1 : 0; ?>