The question is how to overwrite these columns number settings in the Screen Options panel:
Network dashboard
When you change the number of columns in the screen options panel on the network dashboard page, you get the meta value of screen_layout_dashboard-network
saved into the wp_usermeta
table:
In the WP_Screen
class the columns number is fetched with:
get_user_option("screen_layout_$this->id")
where $this->id
is dashboard-network
.
When user options are fetched with get_user_option( $option )
they are filtered through
return apply_filters("get_user_option_{$option}", $result, $option, $user);
In our case the user option is screen_layout_dashboard-network
so the filter we are looking for is get_user_option_screen_layout_dashboard-network
.
You should therefore try out:
add_filter( 'get_user_option_screen_layout_dashboard-network', 'number_of_columns' );
function number_of_columns( $nr ) {
return 1;
}
Site dashboard
Changing the columns number on the site dashboard page, we get the meta value of screen_layout_dashboard
saved into the wp_usermeta
table:
The filter that can be used here is:
add_filter( 'get_user_option_screen_layout_dashboard', 'number_of_columns' );
ps: The screen layout settings are only saved into the database when they are changed. So for a newly installed WordPress these settings are not in the database.