Jetpack Infinite Scroll dla wyników wyszukiwania
Jetpack ma domyślnie aktywowaną funkcję nieskończonego przewijania dla widoków archiwów i blogów. Jest jednak wyłączony dla widoków wyników wyszukiwania.
Przegląd
Infinite Scroll zawiera filtr, który wskazuje, czy jest obsługiwany, czy nie, i możemy użyć warunkowego, aby zmienić zwróconą wartość. Filtr jest infinite_scroll_archive_supportedi otrzymuje wartość logiczną określającą obsługiwany stan dla bieżącego widoku oraz ustawienia inicjalizacji nieskończonego przewijania jako parametry.
Filtrowanie bieżącego wsparcia widoku
Napiszemy warunek podobny do tego znalezionego w filtrze, ale dodamy is_search, aby uruchomić widok wyników wyszukiwania. Możesz wkleić następujące elementy w pliku functions.php Twojego motywu lub podobnym:
/**
* 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' );
Wyłączanie nieskończonego przewijania w archiwach niestandardowych postów
Być może masz pewne niestandardowe archiwum typu postów, takie jak produkty WooCommerce i chcesz wyłączyć Infinite Scroll firmy Jetpack dla sklepu i archiwów produktów WooCommerce. Oto, czego byś wtedy użył:
/**
* 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' );
Nie używamy funkcji takiej jak is_woocommerce, ponieważ jeśli kiedykolwiek wyłączysz wtyczkę WooCommerce, witryna stanie się pusta, ponieważ is_woocommercefunkcja nie będzie już zdefiniowana i spowoduje błąd krytyczny.