在WordPress MultiSite上将网络管理仪表板强制为1列

时间:2013-06-25 作者:TARMAK

我想知道是否有人知道如何在网络管理仪表板的wordpress多站点安装中强制dasboard布局为1列

这是解决方案的一部分,但并不强制列数为1:

function so_screen_layout_columns( $columns ) {
    $columns[\'dashboard-network\'] = 1;
    return $columns;
}
add_filter( \'screen_layout_columns\', \'so_screen_layout_columns\' );
以下内容应该强制执行,但它在网络管理仪表板页面上不起作用,有人知道解决方案吗?

function so_screen_layout_dashboard() {
    return 1;
}
add_filter( \'get_user_option_screen_layout_dashboard\', \'so_screen_layout_dashboard\' );

1 个回复
最合适的回答,由SO网友:birgire 整理而成

问题是如何覆盖屏幕选项面板中的这些列数设置:

columns

网络仪表板当您更改网络仪表板页面上屏幕选项面板中的列数时,您会得到screen_layout_dashboard-network 保存到wp_usermeta 表格:

wp_usermeta

WP_Screen 获取列号时使用的类:

get_user_option("screen_layout_$this->id")
在哪里$this->iddashboard-network.

使用获取用户选项时get_user_option( $option ) 它们被过滤掉了

return apply_filters("get_user_option_{$option}", $result, $option, $user);
在我们的例子中,用户选项是screen_layout_dashboard-network 所以我们要找的过滤器是get_user_option_screen_layout_dashboard-network.

因此,您应该尝试:

add_filter( \'get_user_option_screen_layout_dashboard-network\', \'number_of_columns\' );

function number_of_columns( $nr ) {
    return 1;
}
更改站点仪表板页面上的列数,我们可以得到screen_layout_dashboard 保存到wp_usermeta 表格:

wp_usermeta

此处可以使用的过滤器是:

  add_filter( \'get_user_option_screen_layout_dashboard\', \'number_of_columns\' );
ps: 屏幕布局设置仅在更改时保存到数据库中。因此,对于新安装的WordPress,这些设置不在数据库中。

结束

相关推荐

Issue with Multisite and SSL

我有一个带有子目录和SSL的多站点。我更改了主站点和一个子网站的选项表,但ssl仅注册主站点。我甚至选中了“更新siteurl和主页”选项。如果它在物理上键入https,那么该站点将注册,并且签出页面上不会显示不安全标志,但小锁不会显示,它表示该站点并不完全安全。我如何定位它?https://www.kickinkaratesystems.com/https://www.kickinkaratesystems.com/akitournament/