Come escludere determinati widget da mostrare su home / front page?

Senza utilizzare un plug-in, come impedire / escludere il widget “post recenti” del widget della barra laterale da mostrare nella home / prima pagina?

Voglio che venga visualizzato nella barra laterale del resto di altre pagine di archivio / post.

Solutions Collecting From Web of "Come escludere determinati widget da mostrare su home / front page?"

Ho trovato la soluzione esatta alla mia domanda qui:

https://wordpress.stackexchange.com/a/17687/92505

Ecco il codice esatto che ho usato dopo alcune modifiche per farlo funzionare sulla mia situazione.

Aggiungi il seguente codice a functions.php dove 'sidebar-1' è l’ID della sidebar.

'recent-posts' è il nome del widget che vuoi hide.

12 è la lunghezza della stringa 'recent-posts'

Spero che qualcuno possa trovarlo utile.

 add_filter( 'sidebars_widgets', 'wpse17681_sidebars_widgets' ); function wpse17681_sidebars_widgets( $sidebars_widgets ) { if ( is_home() || is_front_page() /* Or whatever */ ) { foreach ( $sidebars_widgets as $sidebar_id => &$widgets ) { if ( 'sidebar-1' != $sidebar_id ) { continue; } foreach ( $widgets as $idx => $widget_id ) { // There might be a better way to check the widget name if ( 0 === strncmp( $widget_id, 'recent-posts', 12 ) ) { unset( $widgets[$idx] ); } } } } return $sidebars_widgets; }