Cum să elimini toate widget-urile de pe Panoul de control WordPress?

22 nov. 2012, 03:34:57
Vizualizări: 14.4K
Voturi: 4

Caut o versiune complet goală a Panoului de control. Fără widget-uri și preferabil cu o singură coloană.

Există fragmente de cod pentru eliminarea widget-urilor implicite WordPress, dar nu am găsit nimic despre cele adăugate de plugin-uri. Am căutat peste tot și se pare că această întrebare nu a mai fost pusă.

Panou de control WordPress cu widget-uri

0
Toate răspunsurile la întrebare 4
2
12

Din acest Q&A, am aflat despre variabila globală $wp_meta_boxes. Și acolo este și codul pentru eliminarea casetelor meta implicite.

După examinarea variabilei, acesta este codul pe care l-am scris pentru a elimina toate Widget-urile din Dashboard, inclusiv cele adăugate de plugin-uri:

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();
}

Răspunsul pentru a forța o singură coloană ca opțiune de ecran este de aici:

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;
}

Acesta a furnizat codul pentru a ascunde filele Opțiuni Ecran și Ajutor:

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, acum nu mai este aproape nimic în Dashboard, ce urmează?

Puțin CSS pentru a ascunde icon-index și titlul H2, și ceva jQuery pentru a umple golul:

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(); // în curând pe StackOverflow 
            });
        </script>   
    <?php
}

[ actualizare ]

Golul umplut poate fi găsit pe StackOverflow.
Folosește funcția wpse_73561_dashboard_scripts în loc de aceasta.

22 nov. 2012 03:34:57
Comentarii

De ce nu pur și simplu $wp_meta_boxes['dashboard']['normal']['core'] = array()?

fuxia fuxia
22 nov. 2012 03:46:31

@toscho : Știam că e ceva ciudat la acele linii... Mulțumesc frumos :)

brasofilo brasofilo
22 nov. 2012 03:50:12
1

Acest lucru va funcționa corect

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

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

}
20 sept. 2015 16:08:33
Comentarii

Acest lucru este bun, dar nu elimină metadatele adăugate de pluginuri precum Gravity Forms—dacă dorești să elimini chiar și cele adăugate de pluginuri, trebuie să adaugi o prioritate mare la apelul de acțiune, ceva de genul add_action('wp_dashboard_setup', 'remove_dashboard_widgets', 99999);

cfx cfx
25 feb. 2025 05:01:38
0

Elimină metabox-urile implicite din panoul de control WordPress:

@sursă https://github.com/vincentorback/clean-wordpress-admin/blob/master/dashboard.php

/**
 * Eliminarea widget-urilor din panoul de control.
 *
 * @link https://developer.wordpress.org/reference/functions/remove_meta_box/
 */
add_action(
    'wp_dashboard_setup',
    function () {
        // Elimină panoul 'Bine ați venit'
        remove_action( 'welcome_panel', 'wp_welcome_panel' );

        // Elimină metabox-ul 'Sănătatea site-ului'
        remove_meta_box( 'dashboard_site_health', 'dashboard', 'normal' );

        // Elimină metabox-ul 'În ochi'
        remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' );

        // Elimină metabox-ul 'Activitate'
        remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' );

        // Elimină metabox-ul 'Știri WordPress'
        remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );

        // Elimină metabox-ul 'Schiță rapidă'
        remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
    }
);

Elimină toate metabox-urile din panoul de control (inclusiv cele ale plugin-urilor):

@sursă: necunoscută

add_action('wp_dashboard_setup', 'kdev_remove_dw', 999 );
function kdev_remove_dw() {
    global $wp_meta_boxes;
    $wp_meta_boxes = array();
}
12 nov. 2023 23:44:58
0

Dacă dorești să ascunzi toate widget-urile din panoul de control, CU EXCEPȚIA celor personalizate pe care le-ai creat:

Modifică prioritățile acțiunilor pentru a elimina mai întâi toate widget-urile, apoi adaugă-le pe cele personalizate:

//Elimină toate widget-urile din panoul de control
add_action('wp_dashboard_setup', 'remove_all_dashboard_widgets', 100 );
function remove_all_dashboard_widgets() {
    
    global $wp_meta_boxes;
    $wp_meta_boxes = [];
    
}

//Adaugă widget-uri personalizate
add_action('wp_dashboard_setup', 'my_dashboard_widgets', 999);
function my_dashboard_widgets() {
    
    wp_add_dashboard_widget(
        'my_dashboard_widget',          // Slug-ul widget-ului
        'Widget-ul meu în Panou',        // Titlul widget-ului
        'my_dashboard_widget_content'    // Funcția callback care afișează conținutul
    );

    
}

//Conținutul widget-ului
function my_dashboard_widget_content() {

   //Conținutul aici
   //Poți folosi o interogare WP_Query personalizată pentru a obține rezultate de articole sau alte date...

}
24 ian. 2025 00:17:40