| Server IP : 194.61.116.167 / Your IP : 216.73.217.84 Web Server : Apache/2 System : Linux nimbus2000.evosiber.com 5.14.0-503.11.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 12 09:26:13 EST 2024 x86_64 User : evoplastik ( 1130) PHP Version : 8.1.34 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/evoplastik/domains/evoplastik.com/private_html/wp-includes/blocks/ |
Upload File : |
<?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' );