apply_filters( 'wp_template_enhancement_output_buffer', string $filtered_output, string $output )
- Since
- 6.9.0
Description
This filter only applies the HTML output of an included template. This filter is a progressive enhancement intended for applications such as optimizing markup to improve frontend page load performance. Sites must not depend on this filter applying since they may opt to stream the responses instead. Callbacks for this filter are highly discouraged from using regular expressions to do any kind of replacement on the output. Use the HTML API (either WP_HTML_Tag_Processor or WP_HTML_Processor), or else use DOM\HtmlDocument as of PHP 8.4 which fully supports HTML5.
Do not print any output during this filter. While filters normally don't print anything, this is especially important since this applies during an output buffer callback. Prior to PHP 8.5, the output will be silently omitted, whereas afterward a deprecation notice will be emitted.
Important: Because this filter is applied inside an output buffer callback (i.e. display handler), any callbacks added to the filter must not attempt to start their own output buffers. Otherwise, PHP will raise a fatal error: "Cannot use output buffering in output buffering display handlers."
Compatibility
- WordPress
- since 6.9.0
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in 3 of the 5 tracked releases, added in 6.9.0.
Parameters
$filtered_outputstring- HTML template enhancement output buffer.
$outputstring- Original HTML template output buffer.
Where this hook fires · 1
wp-includes/template.php:1019wp_finalize_template_enhancement_output_buffer()
Source code
* * @since 6.9.0 * * @param string $filtered_output HTML template enhancement output buffer. * @param string $output Original HTML template output buffer. */ $filtered_output = (string) apply_filters( 'wp_template_enhancement_output_buffer', $filtered_output, $output ); } catch ( Throwable $throwable ) { // Emit to the error log as a warning not as an error to prevent halting execution. $did_just_catch = true; trigger_error( sprintf( /* translators: %s is the throwable class name */Changelog
Introduced in 6.9.0. Unchanged from 6.9.7 through 7.1.0.
Signature, return type and hooks compared across 3 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
- Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.