Фільтр дозволяє вам змінювати виведений контент для різних областей, таких як заголовок, контент і підвал, перед його відображенням на фронтенді.
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. Це може бути корисно для навігаційних цілей, наприклад, для створення змісту.