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();
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é.