Описание get_pages
— Filter
Хук get_pages позволяет изменить массив страниц, возвращаемый функцией get_pages(). Он срабатывает при извлечении страниц из базы данных, что позволяет кастомизировать вывод страниц на сайте.
Примеры использования
Пример удаления страниц из массива:
add_filter('get_pages', function($pages) {
return array_filter($pages, function($page) {
return $page->ID !== 42;
});
});
В этом примере мы удаляем страницу с ID 42 из массива страниц
Пример добавления кастомного поля к страницам:
add_filter('get_pages', function($pages) {
foreach ($pages as $page) {
$page->custom_field = get_post_meta($page->ID, 'custom_field_key', true);
}
return $pages;
});
Здесь мы добавляем кастомное поле к каждой странице для дальнейшего использования
Пример изменения заголовков страниц:
add_filter('get_pages', function($pages) {
foreach ($pages as $page) {
$page->post_title = strtoupper($page->post_title);
}
return $pages;
});
В этом примере мы преобразуем заголовки всех страниц в верхний регистр
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или модифицировать массив страниц перед его использованием на сайте
– Производительность
Хук может повлиять на производительность, если используется с большими массивами страниц, поэтому будьте осторожны с изменениями
– Предупреждения
Старайтесь избегать сложных запросов в цикле, так как это может замедлить выполнение
Альтернативы
Тип: action
Этот хук позволяет изменить запрос для получения страниц перед его выполнением, предоставляя больше возможностей для кастомизации
Используйте его, если нужно изменить параметры запроса страниц, такие как порядок, количество или фильтры