web-dev-qa-db-fra.com

Ajouter le widget 'Right Now' au tableau de bord personnalisé

J'ai créé une page de tableau de bord personnalisée vers laquelle l'utilisateur est redirigé lorsqu'il est connecté. Je souhaite inclure le widget "En ce moment" à ma page de tableau de bord personnalisé. Comment puis-je y arriver?

class CustomDash {

function __construct(){

    add_action( 'admin_menu', array( &$this, 'nn_register_custom_dash' ) );
    add_action( 'load-index.php', array( &$this, 'nn_redirect_custom_dash' ) );
}

function nn_register_custom_dash(){

    add_dashboard_page( 'Custom Dash', 'Custom Dash', 'manage_options', 'custom-dash', array( &$this, 'nn_create_dash' ) );
}

function nn_redirect_custom_dash(){

    $screen = get_current_screen();
    if( $screen->base == 'dashboard' )
        wp_redirect( admin_url( 'index.php?page=custom-dash' ) );
}

function nn_create_dash(){


}
}

new CustomDash();
2
Navin Nagpal

Je dois le savoir dans Make WordPress UI . Le plugin Dashboard utilise une technique très intéressante:

add_action( 'load-index.php', array( $this , 'override_dashboard' ) );

public function override_dashboard() 
{
    if( !isset( $_GET['page'] || 'custom-dash' != $_GET['page'] )
        return;

    if ( get_current_screen()->in_admin( 'site' ) ) {
        require dirname( __FILE__ ) . '/dashboard-override.php';
        exit;
    }
}

Et ensuite, il reconstruit complètement le tableau de bord avec le fichier dashboard-override.php , avec un tout nouveau clone des widgets, comme rightnow.php . Je pense que cela vaut la peine d'être imité.

1
brasofilo