Come includere post bozza e privati nelle ricerche di amministrazione con SearchWP
SearchWP include il supporto integrato per migliorare i risultati di ricerca nell'area di amministrazione di WordPress abilitando l'opzione Admin Engine nelle Impostazioni del motore nella pagina Algoritmi di SearchWP. Quando questa opzione è abilitata, SearchWP migliora le ricerche eseguite all'interno della dashboard di WordPress, come le ricerche nelle schermate Post o Pagine. Tuttavia, per impostazione predefinita, SearchWP indicizza e restituisce solo contenuti pubblicati. Bozze, post privati e post pianificati (futuri) sono esclusi dai risultati di ricerca.
Questo comportamento esiste perché SearchWP è progettato principalmente per potenziare le esperienze di ricerca frontend, dove i contenuti non pubblicati non dovrebbero essere accessibili pubblicamente. Di conseguenza, gli stati dei post non pubblicati non vengono indicizzati a meno che non siano esplicitamente inclusi. Se ti affidi a SearchWP per cercare contenuti nell'area di amministrazione e devi individuare bozze, post privati o pianificati, puoi estendere il comportamento di SearchWP utilizzando un filtro personalizzato.
L'esempio seguente dimostra come includere bozze, post privati e pianificati nelle ricerche solo per amministratori, mantenendo invariati i risultati di ricerca frontend:
| <?php | |
| // Search draft, private, and scheduled posts in admin side only | |
| add_filter( 'searchwp\post_stati', function ( $post_stati, $args ) { | |
| $is_search = is_search() || isset( $_REQUEST['s'] ); | |
| $is_swp_search = isset( $_REQUEST['swps'] ); | |
| $is_admin = is_admin() && ! wp_doing_ajax(); | |
| // Do not modify post statuses on SearchWP results pages and normal frontend searches | |
| if ( ($is_swp_search || $is_search) && ! $is_admin ) { | |
| return $post_stati; | |
| } | |
| // Include draft, private, and scheduled (future) posts in admin search | |
| return array_unique( | |
| array_merge( $post_stati, [ 'draft', 'private', 'future' ] ) | |
| ); | |
| }, 20, 2 ); |
Puoi aggiungere questo codice utilizzando un plugin per snippet di codice come WPCode, o preparando un Plugin di personalizzazioni SearchWP.
Questo hook modifica l'elenco degli stati dei post che SearchWP considera durante l'indicizzazione e la ricerca, ma solo quando la ricerca viene eseguita nell'area di amministrazione di WordPress. Di conseguenza, bozze, post privati e pianificati dei tipi di post inclusi nel tuo motore SearchWP diventeranno ricercabili nella dashboard. Questi post non appariranno nei risultati di ricerca frontend, garantendo che i contenuti non pubblicati rimangano nascosti ai visitatori del sito.

