web-dev-qa-db-fra.com

Comment masquer ou supprimer les widgets indésirables lors de l'installation multisite?

J'utilise une installation multi-site. Je ne veux pas que tous les widgets apparaissent sous widgets.php dans le tableau de bord. J'ai donc essayé de trouver un moyen de supprimer ou de masquer les widgets inutiles. Ainsi, les nouveaux sous-sites créés sous mon site multi-sites n'auront pas beaucoup de widgets. De cette façon, les utilisateurs ne seront pas confondus avec beaucoup de widgets.

J'ai essayé de trouver les fichiers liés aux widgets. Mais je n'ai pas pu trouver de telles pages à la fois dans wp-admin/includes/widgets.php et wp-admin/widgets.php.

J'ai également essayé de trouver dans les fichiers de thème, mais j'ai échoué. Quelqu'un pourrait-il m'aider à les trouver?

Ou est-ce que j'ai une chance de les cacher en utilisant functions.php?

6
user391

Ajoutez ceci à votre fichier functions.php:

function jpb_unregister_widgets(){
  unregister_widget('WP_Widget_Pages');
  unregister_widget('WP_Widget_Calendar');
  unregister_widget('WP_Widget_Archives');
  unregister_widget('WP_Widget_Links');
  unregister_widget('WP_Widget_Meta');
  unregister_widget('WP_Widget_Search');
  unregister_widget('WP_Widget_Text');
  unregister_widget('WP_Widget_Categories');
  unregister_widget('WP_Widget_Recent_Posts');
  unregister_widget('WP_Widget_Recent_Comments');
  unregister_widget('WP_Widget_RSS');
  unregister_widget('WP_Widget_Tag_Cloud');
  unregister_widget('WP_Nav_Menu_Widget');
}

add_action( 'widgets_init', 'jpb_unregister_widgets' );

Cela éliminera tous les widgets par défaut. Si vous souhaitez conserver un certain widget, supprimez cette ligne de la fonction ci-dessus.

7
John P Bloch