web-dev-qa-db-fra.com

Comment supprimer tous les widgets du tableau de bord?

Je cherche un tableau de bord complet et vierge. Pas de widgets du tout et de préférence une colonne.

Il existe des extraits pour supprimer les widgets WordPress par défaut, mais rien n’a été trouvé sur ceux ajoutés par les plugins. Recherché partout et semble que cela n'a pas été demandé.

Not blank WordPress Dashboard

3
brasofilo

De ce Q & A , j'ai entendu parler de la variable globale$wp_meta_boxes. Et là-bas se trouve également le code pour supprimer les boîtes de méta par défaut.

Après avoir examiné la variable, c’est le code que j’ai écrit pour supprimer tous les widgets de tableau de bord, y compris ceux ajoutés par les plugins :

add_action('wp_dashboard_setup', 'wpse_73561_remove_all_dashboard_meta_boxes', 9999 );

function wpse_73561_remove_all_dashboard_meta_boxes()
{
    global $wp_meta_boxes;
    $wp_meta_boxes['dashboard']['normal']['core'] = array();
    $wp_meta_boxes['dashboard']['side']['core'] = array();
}

La réponse à force une colonne comme option d’écran est à partir de là :

add_filter( 'get_user_option_screen_layout_dashboard', 'wpse_4552_one_column_layout' );

function wpse_4552_one_column_layout( $cols ) {
    if( current_user_can( 'basic_contributor' ) )
        return 1;
    return $cols;
}

Celui-ci fournit le code permettant de masquer les onglets Options d'écran} et Aide:

add_filter( 'contextual_help', 'wpse_25034_remove_dashboard_help_tab', 999, 3 );
add_filter( 'screen_options_show_screen', 'wpse_25034_remove_help_tab' );

function wpse_25034_remove_dashboard_help_tab( $old_help, $screen_id, $screen )
{
    if( 'dashboard' != $screen->base )
        return $old_help;

    $screen->remove_help_tabs();
    return $old_help;
}

function wpse_25034_remove_help_tab( $visible )
{
    global $current_screen;
    if( 'dashboard' == $current_screen->base )
        return false;
    return $visible;
}

Ok, maintenant il n’ya presque rien dans le tableau de bord, quelle est la prochaine?

Un peu de CSS pour hide le icon-index et le H2 title, et quelques jQuery pour remplissent le vide :

add_action( 'admin_head-index.php', 'wpse_73561_dashboard_scripts' );

function wpse_73561_dashboard_scripts() {
    ?>
        <style>#icon-index, .wrap h2 {display:none}</style>
        <script language="javascript" type="text/javascript">
            jQuery(document).ready(function($) {
                fillTheVoid(); // soon in StackOverflow 
            });
        </script>   
    <?php
}

[ mettre à jour ]

Le vide rempli peut être trouvé dans StackOverflow .
Utilisez cette fonction wpse_73561_dashboard_scripts à la place de celle-ci.

7
brasofilo

Cela fonctionnera bien

add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
function remove_dashboard_widgets() {

    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']);

}
1
Ashique Zakariyya