HEX
Server: Apache
System: Linux wmsc1-wms544-wd-8866bb7-8bvxt 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: w6851 (16851)
PHP: 8.2.1
Disabled: apache_child_terminate,apache_setenv,define_syslog_variables,diskfreespace,disk_free_space,disk_total_space,dl,exec,leak,link,openlog,passthru,pfsockopen,popen,posix_getgrnam,posix_getpgid,posix_getpwuid,posix_getpwnam,posix_getrlimit,posix_initgroups,posix_kill,posix_mkfifo,posix_mknod,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,putenv,readlink,register_tick_function,shell_exec,show_source,symlink,syslog,system
Upload Files
File: /data/web/virtuals/6851/virtual/www/domains/ucto.genius-web.cz/wp-includes/blocks/details.php
<?php
/**
 * Server-side rendering of the `core/details` block.
 *
 * @package WordPress
 */

/**
 * Sets fetchpriority="low" on all IMG tags within the collapsed Details block.
 *
 * Images in a collapsed Details block are hidden until the block is expanded, so they should
 * not compete with any resources in the critical rendering path, such as the LCP element image.
 *
 * @since 7.0.0
 *
 * @param string $block_content The block content.
 * @param array  $block         The full block, including name and attributes.
 * @return string Modified HTML with fetchpriority="low" on all IMG tags when the showContent attribute is false.
 */
function block_core_details_set_img_fetchpriority_low( $block_content, array $block ): string {
	if ( ! is_string( $block_content ) ) {
		return '';
	}

	// If the Details block is open by default, short-circuit to let core add fetchpriority=high if appropriate.
	if ( $block['attrs']['showContent'] ?? false ) {
		return $block_content;
	}

	$tags = new WP_HTML_Tag_Processor( $block_content );
	while ( $tags->next_tag( 'IMG' ) ) {
		$tags->set_attribute( 'fetchpriority', 'low' );
	}
	return $tags->get_updated_html();
}

add_filter( 'render_block_core/details', 'block_core_details_set_img_fetchpriority_low', 10, 2 );

/**
 * Registers the `core/details` block on server.
 *
 * @since 7.0.0
 */
function register_block_core_details() {
	register_block_type_from_metadata( __DIR__ . '/details' );
}
add_action( 'init', 'register_block_core_details' );