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 / experimental / editor-settings.php
widget-options / includes / widgets / gutenberg / lib / experimental Last commit date
fonts-api 2 years ago interactivity-api 2 years ago block-editor-settings-mobile.php 2 years ago block-editor-settings.php 2 years ago blocks.php 2 years ago class-gutenberg-rest-global-styles-revisions-controller.php 2 years ago class-wp-classic-to-block-menu-converter.php 2 years ago class-wp-navigation-fallback-gutenberg.php 2 years ago class-wp-rest-block-editor-settings-controller.php 2 years ago class-wp-rest-customizer-nonces.php 2 years ago class-wp-rest-navigation-fallback-controller.php 2 years ago editor-settings.php 2 years ago kses.php 2 years ago l10n.php 2 years ago navigation-fallback.php 2 years ago navigation-theme-opt-in.php 2 years ago rest-api.php 2 years ago
editor-settings.php
108 lines
1 <?php
2 /**
3 * Utilities to manage editor settings.
4 *
5 * @package gutenberg
6 */
7
8 /**
9 * Initialize a block-based editor.
10 *
11 * @param string $editor_name Editor name.
12 * @param string $editor_script_handle Editor script handle.
13 * @param array $settings {
14 * Elements to initialize a block-based editor.
15 *
16 * @type array $preload_paths Array of paths to preload.
17 * @type string $initializer_name Editor initialization function name.
18 * @type array $editor_settings Editor settings.
19 * }
20 * @return void
21 */
22 function gutenberg_initialize_editor( $editor_name, $editor_script_handle, $settings ) {
23
24 $defaults = array(
25 'preload_paths' => array(),
26 'initializer_name' => 'initialize',
27 'editor_settings' => array(),
28 );
29
30 $settings = wp_parse_args( $settings, $defaults );
31
32 /**
33 * Preload common data by specifying an array of REST API paths that will be preloaded.
34 *
35 * Filters the array of paths that will be preloaded.
36 *
37 * @param string[] $preload_paths Array of paths to preload.
38 */
39 $preload_paths = apply_filters( "{$editor_name}_preload_paths", $settings['preload_paths'] );
40
41 $preload_data = array_reduce(
42 $preload_paths,
43 'rest_preload_api_request',
44 array()
45 );
46
47 wp_add_inline_script(
48 'wp-api-fetch',
49 sprintf(
50 'wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( %s ) );',
51 wp_json_encode( $preload_data )
52 ),
53 'after'
54 );
55 wp_add_inline_script(
56 "wp-{$editor_script_handle}",
57 sprintf(
58 'wp.domReady( function() {
59 wp.%s.%s( "%s", %s );
60 } );',
61 lcfirst( str_replace( '-', '', ucwords( $editor_script_handle, '-' ) ) ),
62 $settings['initializer_name'],
63 str_replace( '_', '-', $editor_name ),
64 wp_json_encode( $settings['editor_settings'] )
65 )
66 );
67
68 // Preload server-registered block schemas.
69 wp_add_inline_script(
70 'wp-blocks',
71 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . wp_json_encode( get_block_editor_server_block_settings() ) . ');'
72 );
73 }
74
75 /**
76 * Sets a global JS variable used to trigger the availability of each Gutenberg Experiment.
77 */
78 function gutenberg_enable_experiments() {
79 $gutenberg_experiments = get_option( 'gutenberg-experiments' );
80 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-zoomed-out-view', $gutenberg_experiments ) ) {
81 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableZoomedOutView = true', 'before' );
82 }
83 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-color-randomizer', $gutenberg_experiments ) ) {
84 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableColorRandomizer = true', 'before' );
85 }
86 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-command-center', $gutenberg_experiments ) ) {
87 wp_add_inline_script( 'wp-edit-site', 'window.__experimentalEnableCommandCenter = true', 'before' );
88 }
89 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-command-center', $gutenberg_experiments ) ) {
90 wp_add_inline_script( 'wp-edit-post', 'window.__experimentalEnableCommandCenter = true', 'before' );
91 }
92 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-group-grid-variation', $gutenberg_experiments ) ) {
93 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableGroupGridVariation = true', 'before' );
94 }
95 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-details-blocks', $gutenberg_experiments ) ) {
96 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableDetailsBlocks = true', 'before' );
97 }
98 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-interactivity-api-navigation-block', $gutenberg_experiments ) ) {
99 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableNavigationBlockInteractivity = true', 'before' );
100 }
101 if ( $gutenberg_experiments && array_key_exists( 'gutenberg-theme-previews', $gutenberg_experiments ) ) {
102 wp_add_inline_script( 'wp-block-editor', 'window.__experimentalEnableThemePreviews = true', 'before' );
103 }
104
105 }
106
107 add_action( 'admin_init', 'gutenberg_enable_experiments' );
108