/var/www/html_us/wp-admin/widgets-form-blocks.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?php
/**
 * The block-based widgets editor, for use in widgets.php.
 *
 * @package WordPress
 * @subpackage Administration
 */

// Don't load directly.
if ( ! defined'ABSPATH' ) ) {
    die( 
'-1' );
}

// Flag that we're loading the block editor.
$current_screen get_current_screen();
$current_screen->is_block_editortrue );

$block_editor_context = new WP_Block_Editor_Context( array( 'name' => 'core/edit-widgets' ) );

$preload_paths = array(
    array( 
rest_get_route_for_post_type_items'attachment' ), 'OPTIONS' ),
    
'/wp/v2/widget-types?context=edit&per_page=-1',
    
'/wp/v2/sidebars?context=edit&per_page=-1',
    
'/wp/v2/widgets?context=edit&per_page=-1&_embed=about',
);
block_editor_rest_api_preload$preload_paths$block_editor_context );

$editor_settings get_block_editor_settings(
    
array_mergeget_legacy_widget_block_editor_settings(), array( 'styles' => get_block_editor_theme_styles() ) ),
    
$block_editor_context
);

// The widgets editor does not support the Block Directory, so don't load any of
// its assets. This also prevents 'wp-editor' from being enqueued which we
// cannot load in the widgets screen because many widget scripts rely on `wp.editor`.
remove_action'enqueue_block_editor_assets''wp_enqueue_editor_block_directory_assets' );

wp_add_inline_script(
    
'wp-edit-widgets',
    
sprintf(
        
'wp.domReady( function() {
            wp.editWidgets.initialize( "widgets-editor", %s );
        } );'
,
        
wp_json_encode$editor_settings )
    )
);

// Preload server-registered block schemas.
wp_add_inline_script(
    
'wp-blocks',
    
'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' wp_json_encodeget_block_editor_server_block_settings() ) . ');'
);

// Preload server-registered block bindings sources.
$registered_sources get_all_registered_block_bindings_sources();
if ( ! empty( 
$registered_sources ) ) {
    
$filtered_sources = array();
    foreach ( 
$registered_sources as $source ) {
        
$filtered_sources[] = array(
            
'name'        => $source->name,
            
'label'       => $source->label,
            
'usesContext' => $source->uses_context,
        );
    }
    
$script sprintf'for ( const source of %s ) { wp.blocks.registerBlockBindingsSource( source ); }'wp_json_encode$filtered_sources ) );
    
wp_add_inline_script(
        
'wp-blocks',
        
$script
    
);
}

wp_add_inline_script(
    
'wp-blocks',
    
sprintf'wp.blocks.setCategories( %s );'wp_json_encodeget_block_categories$block_editor_context ) ) ),
    
'after'
);

wp_enqueue_script'wp-edit-widgets' );
wp_enqueue_script'admin-widgets' );
wp_enqueue_style'wp-edit-widgets' );

/** This action is documented in wp-admin/edit-form-blocks.php */
do_action'enqueue_block_editor_assets' );

/** This action is documented in wp-admin/widgets-form.php */
do_action'sidebar_admin_setup' );

require_once 
ABSPATH 'wp-admin/admin-header.php';

/** This action is documented in wp-admin/widgets-form.php */
do_action'widgets_admin_page' );
?>

<div id="widgets-editor" class="blocks-widgets-container">
    <?php // JavaScript is disabled. ?>
    <div class="wrap hide-if-js widgets-editor-no-js">
        <h1 class="wp-heading-inline"><?php echo esc_html$title ); ?></h1>
        <?php
        
if ( file_existsWP_PLUGIN_DIR '/classic-widgets/classic-widgets.php' ) ) {
            
// If Classic Widgets is already installed, provide a link to activate the plugin.
            
$installed           true;
            
$plugin_activate_url wp_nonce_url'plugins.php?action=activate&amp;plugin=classic-widgets/classic-widgets.php''activate-plugin_classic-widgets/classic-widgets.php' );
            
$message             sprintf(
                
/* translators: %s: Link to activate the Classic Widgets plugin. */
                
__'The block widgets require JavaScript. Please enable JavaScript in your browser settings, or activate the <a href="%s">Classic Widgets plugin</a>.' ),
                
esc_url$plugin_activate_url )
            );
        } else {
            
// If Classic Widgets is not installed, provide a link to install it.
            
$installed          false;
            
$plugin_install_url wp_nonce_urlself_admin_url'update.php?action=install-plugin&plugin=classic-widgets' ), 'install-plugin_classic-widgets' );
            
$message            sprintf(
                
/* translators: %s: A link to install the Classic Widgets plugin. */
                
__'The block widgets require JavaScript. Please enable JavaScript in your browser settings, or install the <a href="%s">Classic Widgets plugin</a>.' ),
                
esc_url$plugin_install_url )
            );
        }
        
/**
         * Filters the message displayed in the block widget interface when JavaScript is
         * not enabled in the browser.
         *
         * @since 6.4.0
         *
         * @param string $message The message being displayed.
         * @param bool   $installed Whether the Classic Widget plugin is installed.
         */
        
$message apply_filters'block_widgets_no_javascript_message'$message$installed );
        
wp_admin_notice(
            
$message,
            array(
                
'type'               => 'error',
                
'additional_classes' => array( 'hide-if-js' ),
            )
        );
        
?>
    </div>
</div>

<?php
/** This action is documented in wp-admin/widgets-form.php */
do_action'sidebar_admin_page' );

require_once 
ABSPATH 'wp-admin/admin-footer.php';