Фільтр: esl/frontend/render_data

Фільтр дозволяє вам змінювати виведений контент для різних областей, таких як заголовок, контент і підвал, перед його відображенням на фронтенді.

add_filter( 'esl/frontend/render_data', function( $content, $post, $area ) {// Зробіть щосьreturn $content;}, 10, 3 );

Функція зворотного виклику фільтра отримує три параметри:

  • $content: HTML-контент, який готується до повернення. Це рядковий тип.
  • $post: Об’єкт поста, для якого генерується контент. Це екземпляр класу WP_Post.
  • $area: Рядок, що визначає область сторінки, яка в даний момент відображається (наприклад, ‘header’, ‘content’, ‘footer’). Доступно з версії 1.5.4.

Приклад: Додати унікальний ID до кожного заголовка

У наведеному прикладі демонструється, як додати унікальний атрибут ID до кожного заголовка у згенерованому контенті.

add_filter('esl/frontend/render_data', function($content, $post, $area) {// Ітерувати по кожному заголовковому тегу$content = preg_replace_callback('/(<h[1-6](.*?))>(.*?)(</h[1-6]>)/i',function($matches) {// Додати атрибут 'id', якщо його немаєif (strpos($matches[2], 'id=') === false) {// Використати вміст заголовка як ID$matches[0] = $matches[1] . ' id="' . sanitize_title($matches[3]). '">' . $matches[3] . $matches[4];}// Повернути (можливо) змінений заголовковий тегreturn $matches[0];},$content // Контент для модифікації);// Повернути змінений контентreturn $content;}, 10, 3);

У цьому прикладі функція зворотного виклику визначається в межах виклику функції add_filter, націленої на фільтр esl/frontend/render_data. Ця функція зворотного виклику модифікує кожен заголовковий тег, присутній у контенті, щоб включити унікальний атрибут ID. Це може бути корисно для навігаційних цілей, наприклад, для створення змісту.