When you login to a WordPress site the dashboard homepage looks similar to this –
There are some widget boxes in the homepage that shows various information on the site and also information from outside.
But for a custom theme or a plugin, you may want to add more information in the dashboard home.
Doing so is quite easy with the wp_dashboard_setup action hook. This hook fires after all the core widgets in the dashboard has been registered.
function okla_add_dashboard_widgets() {
wp_add_dashboard_widget(
'okla_dashboard_widget', // Widget slug.
esc_html_e( 'Okla Widget', 'okla' ), // Title.
'okla_dashboard_widget_render' // Display function.
);
}
add_action( 'wp_dashboard_setup', 'okla_add_dashboard_widgets' );
/**
* Write the function to output the content of our custom dashboard Widget.
*/
function okla_dashboard_widget_render() {
// Your custom code goes here
esc_html_e( "This is a custom widget", "okla" );
}
The wp_dashboard_setup has a callback function okla_add_dashboard_widgets which is a custom function that can be used to add or remove widget boxes from the dashboard home.
The call to wp_add_dashboard_widget function from inside the callback function is for adding a custom widget box in to the dashboard.
This function takes a slug for the widget as first parameter, then the title of the widget (with an escape function to help in translation of the code) and a display function as the third parameter.
The content of the widget is produced by the okla_dashboard_widget_render function.
In this example, the widget just shows some text “This is a custom widget” but you can add anything you want.
The wp_dashboard_setup can also be used to remove widget boxes from the dashboard.
The function used for this purpose is remove_meta_box. You can use this inbuilt function inside the custom callback function of wp_dashboard_setup hook or inside the already existing callback function.
add_action( 'wp_dashboard_setup', 'okla_remove_dashboard_widgets' );
function okla_remove_dashboard_widgets() {
remove_meta_box('dashboard_activity', 'dashboard', 'normal'); // Activity Widget
}
The code above removes the Activity widget box from dashboard.
If you want, you can remove all default widget boxes from the dashboard home page using this remove_meta_box function. You just know to know the slug/id of the meta box you are removing.
Another thing is – you can put this code in your themes function.php file if you want add/remove actions to be theme specific or put in a plugin file if you want it to be site specific.
Copyright Web/ Design/ Vista 2022 ©