wp_iframe_tag_add_loading_attr() – Adds `loading` attribute to an `iframe` HTML tag.
You appear to be a bot. Output may be restricted
Description
Adds loading
attribute to an iframe
HTML tag.
Usage
$string = wp_iframe_tag_add_loading_attr( $iframe, $context );
Parameters
- $iframe
- ( string ) required – The HTML
iframe
tag where the attribute should be added. - $context
- ( string ) required – Additional context to pass to the filters.
Returns
string Converted iframe
tag with loading
attribute added.
Source
File name: wordpress/wp-includes/media.php
Lines:
1 to 41 of 41
function wp_iframe_tag_add_loading_attr( $iframe, $context ) { // Iframes with fallback content (see `wp_filter_oembed_result()`) should not be lazy-loaded because they are // visually hidden initially. if ( false !== strpos( $iframe, ' data-secret="' ) ) { return $iframe; } // Get loading attribute value to use. This must occur before the conditional check below so that even iframes that // are ineligible for being lazy-loaded are considered. $value = wp_get_loading_attr_default( $context ); // Iframes should have source and dimension attributes for the `loading` attribute to be added. if ( false === strpos( $iframe, ' src="' ) || false === strpos( $iframe, ' width="' ) || false === strpos( $iframe, ' height="' ) ) { return $iframe; } /** * Filters the `loading` attribute value to add to an iframe. Default `lazy`. * * Returning `false` or an empty string will not add the attribute. * Returning `true` will add the default value. * * @since 5.7.0 * * @param string|bool $value The `loading` attribute value. Returning a falsey value will result in * the attribute being omitted for the iframe. * @param string $iframe The HTML `iframe` tag to be filtered. * @param string $context Additional context about how the function was called or where the iframe tag is. */ $value = apply_filters( 'wp_iframe_tag_add_loading_attr', $value, $iframe, $context ); if ( $value ) { if ( ! in_array( $value, array( 'lazy', 'eager' ), true ) ) { $value = 'lazy'; } return str_replace( '<iframe', '<iframe loading="' . esc_attr( $value ) . '"', $iframe ); } return $iframe; }