wp_iframe_tag_add_loading_attr( string $iframe, string $context ): string
Adds loading
attribute to an iframe
HTML tag.
Parameters
-
$iframe
string Required -
The HTML
iframe
tag where the attribute should be added. -
$context
string Required -
Additional context to pass to the filters.
Return
string Converted iframe
tag with loading
attribute added.
Source
File: wp-includes/media.php
.
View all references
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;
}
Hooks
-
apply_filters( 'wp_iframe_tag_add_loading_attr',
string|bool $value ,string $iframe ,string $context ) -
Filters the
loading
attribute value to add to an iframe. Defaultlazy
.
Changelog
Version | Description |
---|---|
5.7.0 | Introduced. |