web-dev-qa-db-ja.com

ダッシュボードからすべてのウィジェットを削除する方法?

私は完全な空のダッシュボードを探しています。ウィジェットはまったくありませんが、1列が望ましいです。

デフォルトのWordPressウィジェットを削除するためのスニペットがありますが、プラグインによって追加されたものについては何も見つけていません。至る所で検索し、これは求められていないようです。

Not blank WordPress Dashboard

3
brasofilo

このQ&A から、グローバル変数$wp_meta_boxesについて学びました。そしてその上にデフォルトのメタボックスを削除するのコードもあります。

変数を調べた後、これは私がすべてのDashboardウィジェットを削除するために書いたコードです。 プラグインによって追加されたものも含みます

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

画面オプションとして 1つの列を強制する に対する答えは ここから

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

これScreen OptionsHe​​lpタブを隠すコードを提供します:

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

わかりました、今ダッシュボードにはほとんど何もありません、次は何ですか?

hide icon-indexおよびH2 titleへのCSSの一部、および へのjQueryによって、 が埋められます。

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
}

[更新]

塗りつぶされたボイドは StackOverflow にあります。
この関数の代わりに wpse_73561_dashboard_scripts関数を使用してください。

7
brasofilo

これはうまくいきます

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

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

}
1