Desativando Completamente Widgets

2

Como faço para remover completamente o suporte ao widget de um tema / plug-in?

Como remover a aparência - > página de widgets , e evita que o WP carregue classes de widgets e todas as coisas relacionadas a widgets.

    
por onetrickpony 24.03.2011 / 15:10

4 respostas

4

Uma opção seria simplesmente liberar o código do widget do arquivo sidebar.php, bem como as páginas de cabeçalho / rodapé / postagem, se eles estiverem usando widgets.

No entanto, dê uma olhada nesse snippet de código (cortesia de este site ), que você pode adicionar ao seu arquivo functions.php e desabilitará os widgets. Acho que essa seria uma abordagem mais limpa se você quiser alterar os temas e ainda tiver os widgets desativados.

<?php 
   add_filter( ‘sidebars_widgets’, ‘disable_all_widgets’ ); 
   function disable_all_widgets( $sidebars_widgets ) 
   { 
      if ( is_home() ) $sidebars_widgets = array( false ); 
      return $sidebars_widgets; 
   } 
?>

Observe que isso desativará apenas os widgets em sua página inicial, portanto, você precisará encontrar as condições adicionais para páginas / postagens individuais / etc.

    
por Dillie-O 24.03.2011 / 15:35
3

Se você usar as funções internas de widgets.php , será tão fácil assim:

    // final function makes most sense
    // (useing stuff like '$GLOBALS['wp_widget_factory']' will do nothing better than this ex.)
   // place inside your functions.php  

    unregister_widget( 'some widget' );

    // if my search results are right, these should be the available default widgets 
    // from /wp-includes/widgets.php
    Line 389:   'wp_widget_pages',
    Line 390:   'wp_widget_pages_control',
    Line 391:   'wp_widget_calendar',
    Line 392:   'wp_widget_calendar_control',
    Line 393:   'wp_widget_archives',
    Line 394:   'wp_widget_archives_control',
    Line 395:   'wp_widget_links',
    Line 396:   'wp_widget_meta',
    Line 397:   'wp_widget_meta_control',
    Line 398:   'wp_widget_search',
    Line 399:   'wp_widget_recent_entries',
    Line 400:   'wp_widget_recent_entries_control',
    Line 401:   'wp_widget_tag_cloud',
    Line 402:   'wp_widget_tag_cloud_control',
    Line 403:   'wp_widget_categories',
    Line 404:   'wp_widget_categories_control',
    Line 405:   'wp_widget_text',
    Line 406:   'wp_widget_text_control',
    Line 407:   'wp_widget_rss',
    Line 408:   'wp_widget_rss_control',
    Line 409:   'wp_widget_recent_comments',
    Line 410:   'wp_widget_recent_comments_control'
    
por kaiser 24.03.2011 / 16:58
2

remove_theme_support ('widgets') não funciona devido a:

function remove_theme_support( $feature ) {
// Blacklist: for internal registrations not used directly by themes.
if ( in_array( $feature, array( 'editor-style', 'widgets', 'menus' ) ) )
    return false;

return _remove_theme_support( $feature );
}
    
por theck 16.09.2012 / 00:55
1

O item de menu "Widgets" é adicionado por wp_widgets_add_menu() , chamado no _admin_menu hook, configurado por wp_maybe_load_widgets() . Você pode desativá-lo removendo-o de _admin_menu ou retornando false para load_default_widgets .

Você também pode cancelar o registro de todas as barras laterais sugeridas pela Bainternet e remove_theme_support( 'widgets' ) .

    
por Jan Fabry 24.03.2011 / 16:04