Jetpack Infinite Scroll для результатів пошуку
Jetpack має функцію нескінченного прокручування, активовану за замовчуванням для перегляду архіву та блогу. Однак його вимкнено для перегляду результатів пошуку.
Огляд
Infinite Scroll включає фільтр, щоб вказати, чи він підтримується чи ні, і ми можемо використовувати умовний оператор, щоб змінити повернуте значення. Фільтр є, infinite_scroll_archive_supportedі він отримує логічне значення, яке вказує підтримуваний стан для поточного перегляду та налаштування ініціалізації нескінченної прокрутки як параметри.
Підтримка фільтрації поточного перегляду
Ми напишемо умову, подібну до тієї, яку знайдено у фільтрі, але додамо is_search, щоб вона відображалася в результатах пошуку. Ви можете вставити наступне у файл functions.php вашої теми чи подібний:
/**
* Enables Jetpack's Infinite Scroll in search pages, disables it in product archives
* @return bool
*/
function tr_theme_jetpack_infinite_scroll_supported() {
return current_theme_supports( 'infinite-scroll') && (is_home() || is_archive() || is_search() );
}
add_filter( 'infinite_scroll_archive_supported', 'tr_theme_jetpack_infinite_scroll_supported' );
Вимкнення нескінченного прокручування в архівах спеціального типу публікацій
Можливо, у вас є певний спеціальний архів дописів, як-от продукти WooCommerce, і ви хочете вимкнути Jetpack Infinite Scroll для магазину та архівів продуктів WooCommerce. Ось що ви б тоді використали:
/**
* Enables Jetpack's Infinite Scroll in search pages, disables it in product archives
* @return bool
*/
function tr_theme_jetpack_infinite_scroll_supported() {
return current_theme_supports( 'infinite-scroll') && (is_home() || is_archive() || is_search()) &&! is_post_type_archive( 'product' );
}
add_filter( 'infinite_scroll_archive_supported', 'tr_theme_jetpack_infinite_scroll_supported' );
Ми не використовуємо таку функцію, is_woocommerceтому що якщо ви колись вимкнете плагін WooCommerce, сайт стане порожнім, оскільки is_woocommerceфункція більше не буде визначена, і це викличе фатальну помилку.