Jetpack Infinite Scroll per i risultati di ricerca
Jetpack ha la funzionalità di scorrimento infinito attivata per impostazione predefinita per le visualizzazioni di archivio e blog. Tuttavia, è disattivato per le visualizzazioni dei risultati di ricerca.
Panoramica
Infinite Scroll include un filtro per indicare se è supportato o meno e possiamo utilizzare un condizionale per modificare il valore restituito. Il filtro è infinite_scroll_archive_supportede riceve un valore booleano che indica lo stato supportato per la vista corrente e le impostazioni di inizializzazione dello scorrimento infinito come parametri.
Filtraggio del supporto per la visualizzazione corrente
Scriveremo una condizione simile a quella trovata nel filtro ma aggiungendo is_search in modo da attivare una visualizzazione dei risultati di ricerca. Puoi incollare quanto segue nel functions.php del tuo tema o simile:
/**
* 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' );
Disabilitazione dello scorrimento infinito su archivi di tipo post personalizzato
Forse hai un certo archivio di tipo di post personalizzato, come i prodotti WooCommerce e desideri disabilitare Infinite Scroll di Jetpack per il negozio e gli archivi dei prodotti WooCommerce. Questo è quello che useresti allora:
/**
* 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' );
Non stiamo usando una funzione come is_woocommerceperché se mai disabiliti il plugin WooCommerce, il sito andrà in bianco poiché la is_woocommercefunzione non sarà più definita e genererà un errore fatale.