/**
* Used to set up all core blocks used with the block editor.
*
* @package WordPress
*/
// Don't load directly.
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
define( 'BLOCKS_PATH', ABSPATH . WPINC . '/blocks/' );
// Include files required for core blocks registration.
require BLOCKS_PATH . 'legacy-widget.php';
require BLOCKS_PATH . 'widget-group.php';
require BLOCKS_PATH . 'require-dynamic-blocks.php';
/**
* Registers core block style handles.
*
* While {@see register_block_style_handle()} is typically used for that, the way it is
* implemented is inefficient for core block styles. Registering those style handles here
* avoids unnecessary logic and filesystem lookups in the other function.
*
* @since 6.3.0
*/
function register_core_block_style_handles() {
$wp_version = wp_get_wp_version();
if ( ! wp_should_load_separate_core_block_assets() ) {
return;
}
$blocks_url = includes_url( 'blocks/' );
$suffix = wp_scripts_get_suffix();
$wp_styles = wp_styles();
$style_fields = array(
'style' => 'style',
'editorStyle' => 'editor',
);
static $core_blocks_meta;
if ( ! $core_blocks_meta ) {
$core_blocks_meta = require BLOCKS_PATH . 'blocks-json.php';
}
$files = false;
$transient_name = 'wp_core_block_css_files';
/*
* Ignore transient cache when the development mode is set to 'core'. Why? To avoid interfering with
* the core developer's workflow.
*/
$can_use_cached = ! wp_is_development_mode( 'core' );
if ( $can_use_cached ) {
$cached_files = get_transient( $transient_name );
// Check the validity of cached values by checking against the current WordPress version.
if (
is_array( $cached_files )
&& isset( $cached_files['version'] )
&& $cached_files['version'] === $wp_version
&& isset( $cached_files['files'] )
) {
$files = $cached_files['files'];
}
}
if ( ! $files ) {
$files = glob( wp_normalize_path( BLOCKS_PATH . '**/**.css' ) );
// Normalize BLOCKS_PATH prior to substitution for Windows environments.
$normalized_blocks_path = wp_normalize_path( BLOCKS_PATH );
$files = array_map(
static function ( $file ) use ( $normalized_blocks_path ) {
return str_replace( $normalized_blocks_path, '', $file );
},
$files
);
// Save core block style paths in cache when not in development mode.
if ( $can_use_cached ) {
set_transient(
$transient_name,
array(
'version' => $wp_version,
'files' => $files,
)
);
}
}
$register_style = static function ( $name, $filename, $style_handle ) use ( $blocks_url, $suffix, $wp_styles, $files ) {
$style_path = "{$name}/{$filename}{$suffix}.css";
$path = wp_normalize_path( BLOCKS_PATH . $style_path );
if ( ! in_array( $style_path, $files, true ) ) {
$wp_styles->add(
$style_handle,
false
);
return;
}
$wp_styles->add( $style_handle, $blocks_url . $style_path );
$wp_styles->add_data( $style_handle, 'path', $path );
$rtl_file = "{$name}/{$filename}-rtl{$suffix}.css";
if ( is_rtl() && in_array( $rtl_file, $files, true ) ) {
$wp_styles->add_data( $style_handle, 'rtl', 'replace' );
$wp_styles->add_data( $style_handle, 'suffix', $suffix );
$wp_styles->add_data( $style_handle, 'path', str_replace( "{$suffix}.css", "-rtl{$suffix}.css", $path ) );
}
};
foreach ( $core_blocks_meta as $name => $schema ) {
/** This filter is documented in wp-includes/blocks.php */
$schema = apply_filters( 'block_type_metadata', $schema );
// Backfill these properties similar to `register_block_type_from_metadata()`.
if ( ! isset( $schema['style'] ) ) {
$schema['style'] = "wp-block-{$name}";
}
if ( ! isset( $schema['editorStyle'] ) ) {
$schema['editorStyle'] = "wp-block-{$name}-editor";
}
// Register block theme styles.
$register_style( $name, 'theme', "wp-block-{$name}-theme" );
foreach ( $style_fields as $style_field => $filename ) {
$style_handle = $schema[ $style_field ];
if ( is_array( $style_handle ) ) {
continue;
}
$register_style( $name, $filename, $style_handle );
}
}
}
add_action( 'init', 'register_core_block_style_handles', 9 );
/**
* Registers core block types using metadata files.
* Dynamic core blocks are registered separately.
*
* @since 5.5.0
*/
function register_core_block_types_from_metadata() {
$block_folders = require BLOCKS_PATH . 'require-static-blocks.php';
foreach ( $block_folders as $block_folder ) {
register_block_type_from_metadata(
BLOCKS_PATH . $block_folder
);
}
}
add_action( 'init', 'register_core_block_types_from_metadata' );
/**
* Registers the core block metadata collection.
*
* This function is hooked into the 'init' action with a priority of 9,
* ensuring that the core block metadata is registered before the regular
* block initialization that happens at priority 10.
*
* @since 6.7.0
*/
function wp_register_core_block_metadata_collection() {
wp_register_block_metadata_collection(
BLOCKS_PATH,
BLOCKS_PATH . 'blocks-json.php'
);
}
add_action( 'init', 'wp_register_core_block_metadata_collection', 9 );
Deprecated: Optional parameter $name declared before required parameter $keys is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/LayerSlider/classes/class.ls.config.php on line 71
Deprecated: Optional parameter $evo_options declared before required parameter $default_val is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/eventON/includes/eventon-core-functions.php on line 737
Deprecated: Optional parameter $evo_options declared before required parameter $default_val is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/eventON/includes/class-frontend.php on line 248
Deprecated: Optional parameter $eventCount declared before required parameter $args is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/eventON/includes/class-calendar_generator.php on line 394
Deprecated: Optional parameter $DATE_start_val declared before required parameter $evcal_lang_allday is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/eventON/includes/class-calendar_generator.php on line 1231
Deprecated: Optional parameter $DATE_end_val declared before required parameter $evcal_lang_allday is implicitly treated as a required parameter in /home3/hassanm5/public_html/wp-content/plugins/eventON/includes/class-calendar_generator.php on line 1231
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the js_composer
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home3/hassanm5/public_html/wp-includes/functions.php on line 6121
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the photo-gallery
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home3/hassanm5/public_html/wp-includes/functions.php on line 6121
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the mfn-opts
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home3/hassanm5/public_html/wp-includes/functions.php on line 6121
Warning: Cannot modify header information - headers already sent by (output started at /home3/hassanm5/public_html/wp-includes/blocks/index.php:1) in /home3/hassanm5/public_html/wp-includes/pluggable.php on line 1450
Warning: Cannot modify header information - headers already sent by (output started at /home3/hassanm5/public_html/wp-includes/blocks/index.php:1) in /home3/hassanm5/public_html/wp-includes/pluggable.php on line 1453