хук-действие since 6.9.0

wp_finalized_template_enhancement_output_buffer

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

do_action( 'wp_finalized_template_enhancement_output_buffer', string $output )

Описание

Это происходит непосредственно перед сбросом буфера вывода для улучшения шаблона. На этом действии нельзя выводить ничего; до PHP 8.5 вывод будет молча опущен, а начиная с этой версии будет выдано уведомление об устаревании. Тем не менее, HTTP-заголовки отправлять можно, что делает это действие дополняющим действие ‘send_headers’, в котором заголовки могут быть отправлены до начала рендеринга шаблона. В отличие от него, действие wp_finalized_template_enhancement_output_buffer является возможной точкой, в которой могут быть отправлены HTTP-заголовки. Это действие не срабатывает, если «буфер вывода для улучшения шаблона» не был запущен.
Этот буфер вывода запускается автоматически, если это действие добавлено до того, как wp_start_template_enhancement_output_buffer() выполнится на действии ‘wp_before_include_template’ с приоритетом 1000. До этого момента буфер вывода также будет запущен автоматически, если был добавлен фильтр ‘wp_template_enhancement_output_buffer’ или если фильтр ‘wp_should_output_buffer_template_for_enhancement’ настроен на возврат true.
Важно: поскольку это действие срабатывает внутри функции обратного вызова буфера вывода (то есть обработчика вывода), любые добавленные к действию функции обратного вызова не должны пытаться запускать собственные буферы вывода. В противном случае PHP выдаст фатальную ошибку: «Cannot use output buffering in output buffering display handlers.»

Оригинал (английский)

This happens immediately before the template enhancement output buffer is flushed. No output may be printed at this action; prior to PHP 8.5, the output will be silently omitted, whereas afterward a deprecation notice will be emitted. Nevertheless, HTTP headers may be sent, which makes this action complimentary to the ‘send_headers’ action, in which headers may be sent before the template has started rendering. In contrast, this wp_finalized_template_enhancement_output_buffer action is the possible point at which HTTP headers can be sent. This action does not fire if the “template enhancement output buffer” was not started.
This output buffer is automatically started if this action is added before wp_start_template_enhancement_output_buffer() runs at the ‘wp_before_include_template’ action with priority 1000. Before this point, the output buffer will also be started automatically if there was a ‘wp_template_enhancement_output_buffer’ filter added, or if the ‘wp_should_output_buffer_template_for_enhancement’ filter is made to return true.

Important: Because this action fires inside an output buffer callback (i.e. display handler), any callbacks added to the action 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.”

Параметры

$output string обязательный
Финализированный буфер вывода.

Исходный код

wp-includes/template.php:1058

do_action( 'wp_finalized_template_enhancement_output_buffer', $filtered_output );

История изменений

ВерсияОписание
6.9.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.