PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 4.0.5
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v4.0.5
4.2.5 4.2.4 trunk 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.2 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8 3.8.1 3.8.10 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.8.9.1 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.5.1 4.0.6 4.0.6.1 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.2.0 4.2.1 4.2.2 4.2.3
widget-options / includes / widgets / gutenberg / lib / experiments-page.php
widget-options / includes / widgets / gutenberg / lib Last commit date
block-supports 2 years ago compat 2 years ago experimental 2 years ago README.md 2 years ago block-editor-settings.php 2 years ago blocks.php 2 years ago class-wp-duotone-gutenberg.php 2 years ago class-wp-theme-json-data-gutenberg.php 2 years ago class-wp-theme-json-gutenberg.php 2 years ago class-wp-theme-json-resolver-gutenberg.php 2 years ago client-assets.php 2 years ago demo.php 2 years ago experiments-page.php 2 years ago global-styles-and-settings.php 2 years ago init.php 2 years ago load.php 2 years ago script-loader.php 2 years ago theme-i18n.json 2 years ago theme.json 2 years ago upgrade.php 2 years ago
experiments-page.php
165 lines
1 <?php
2 /**
3 * Bootstrapping the Gutenberg experiments page.
4 *
5 * @package gutenberg
6 */
7
8 /**
9 * The main entry point for the Gutenberg experiments page.
10 *
11 * @since 6.3.0
12 */
13 function the_gutenberg_experiments() {
14 ?>
15 <div
16 id="experiments-editor"
17 class="wrap"
18 >
19 <h1><?php echo __( 'Experimental settings', 'gutenberg' ); ?></h1>
20 <?php settings_errors(); ?>
21 <form method="post" action="options.php">
22 <?php settings_fields( 'gutenberg-experiments' ); ?>
23 <?php do_settings_sections( 'gutenberg-experiments' ); ?>
24 <?php submit_button(); ?>
25 </form>
26 </div>
27 <?php
28 }
29
30 /**
31 * Set up the experiments settings.
32 *
33 * @since 6.3.0
34 */
35 function gutenberg_initialize_experiments_settings() {
36 add_settings_section(
37 'gutenberg_experiments_section',
38 // The empty string ensures the render function won't output a h2.
39 '',
40 'gutenberg_display_experiment_section',
41 'gutenberg-experiments'
42 );
43
44 add_settings_field(
45 'gutenberg-zoomed-out-view',
46 __( 'Zoomed out view ', 'gutenberg' ),
47 'gutenberg_display_experiment_field',
48 'gutenberg-experiments',
49 'gutenberg_experiments_section',
50 array(
51 'label' => __( 'Test a new zoomed out view on the site editor (Warning: The new feature is not ready. You may experience UX issues that are being addressed)', 'gutenberg' ),
52 'id' => 'gutenberg-zoomed-out-view',
53 )
54 );
55
56 add_settings_field(
57 'gutenberg-color-randomizer',
58 __( 'Color randomizer ', 'gutenberg' ),
59 'gutenberg_display_experiment_field',
60 'gutenberg-experiments',
61 'gutenberg_experiments_section',
62 array(
63 'label' => __( 'Test the Global Styles color randomizer; a utility that lets you mix the current color palette pseudo-randomly.', 'gutenberg' ),
64 'id' => 'gutenberg-color-randomizer',
65 )
66 );
67
68 add_settings_field(
69 'gutenberg-command-center',
70 __( 'Command center ', 'gutenberg' ),
71 'gutenberg_display_experiment_field',
72 'gutenberg-experiments',
73 'gutenberg_experiments_section',
74 array(
75 'label' => __( 'Test the command center; Open it using cmd + k in the site or post editors.', 'gutenberg' ),
76 'id' => 'gutenberg-command-center',
77 )
78 );
79
80 add_settings_field(
81 'gutenberg-group-grid-variation',
82 __( 'Grid variation for Group block ', 'gutenberg' ),
83 'gutenberg_display_experiment_field',
84 'gutenberg-experiments',
85 'gutenberg_experiments_section',
86 array(
87 'label' => __( 'Test the Grid layout type as a new variation of Group block.', 'gutenberg' ),
88 'id' => 'gutenberg-group-grid-variation',
89 )
90 );
91
92 add_settings_field(
93 'gutenberg-details-blocks',
94 __( 'Details block', 'gutenberg' ),
95 'gutenberg_display_experiment_field',
96 'gutenberg-experiments',
97 'gutenberg_experiments_section',
98 array(
99 'label' => __( 'Test the Details block', 'gutenberg' ),
100 'id' => 'gutenberg-details-blocks',
101 )
102 );
103
104 add_settings_field(
105 'gutenberg-theme-previews',
106 __( 'Block Theme Previews', 'gutenberg' ),
107 'gutenberg_display_experiment_field',
108 'gutenberg-experiments',
109 'gutenberg_experiments_section',
110 array(
111 'label' => __( 'Enable Block Theme Previews', 'gutenberg' ),
112 'id' => 'gutenberg-theme-previews',
113 )
114 );
115
116 add_settings_field(
117 'gutenberg-interactivity-api-navigation-block',
118 __( 'Navigation block', 'gutenberg' ),
119 'gutenberg_display_experiment_field',
120 'gutenberg-experiments',
121 'gutenberg_experiments_section',
122 array(
123 'label' => __( 'Test the Navigation block using the Interactivity API', 'gutenberg' ),
124 'id' => 'gutenberg-interactivity-api-navigation-block',
125 )
126 );
127
128 register_setting(
129 'gutenberg-experiments',
130 'gutenberg-experiments'
131 );
132 }
133
134 add_action( 'admin_init', 'gutenberg_initialize_experiments_settings' );
135
136 /**
137 * Display a checkbox field for a Gutenberg experiment.
138 *
139 * @since 6.3.0
140 *
141 * @param array $args ( $label, $id ).
142 */
143 function gutenberg_display_experiment_field( $args ) {
144 $options = get_option( 'gutenberg-experiments' );
145 $value = isset( $options[ $args['id'] ] ) ? 1 : 0;
146 ?>
147 <label for="<?php echo $args['id']; ?>">
148 <input type="checkbox" name="<?php echo 'gutenberg-experiments[' . $args['id'] . ']'; ?>" id="<?php echo $args['id']; ?>" value="1" <?php checked( 1, $value ); ?> />
149 <?php echo $args['label']; ?>
150 </label>
151 <?php
152 }
153
154 /**
155 * Display the experiments section.
156 *
157 * @since 6.3.0
158 */
159 function gutenberg_display_experiment_section() {
160 ?>
161 <p><?php echo __( "The block editor includes experimental features that are useable while they're in development. Select the ones you'd like to enable. These features are likely to change, so avoid using them in production.", 'gutenberg' ); ?></p>
162
163 <?php
164 }
165