Câu trả lời:
Để dễ sử dụng, đặc biệt là đối với Quản trị viên WordPress không quá vững trong PHP, tôi khuyến nghị plugin thứ hai của brasoflo ( Adminifying ).
Để hoàn thiện, đây là cách nó được thực hiện theo chương trình:
/* Remove the "Dashboard" from the admin menu for non-admin users */
function wpse52752_remove_dashboard () {
global $current_user, $menu, $submenu;
get_currentuserinfo();
if( ! in_array( 'administrator', $current_user->roles ) ) {
reset( $menu );
$page = key( $menu );
while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) {
$page = key( $menu );
}
if( __( 'Dashboard' ) == $menu[$page][0] ) {
unset( $menu[$page] );
}
reset($menu);
$page = key($menu);
while ( ! $current_user->has_cap( $menu[$page][1] ) && next( $menu ) ) {
$page = key( $menu );
}
if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) &&
( 'index.php' != $menu[$page][2] ) ) {
wp_redirect( get_option( 'siteurl' ) . '/wp-admin/edit.php');
}
}
}
add_action('admin_menu', 'wpse52752_remove_dashboard');
Bạn có thể sử dụng plugin Adminizes để làm điều đó.
Có thể ẩn Bảng điều khiển (và nhiều thứ khác) dựa trên vai trò của người dùng. Trong trường hợp ẩn Bảng điều khiển, bạn có thể xác định trang nào người dùng sẽ được chuyển hướng.
I'm not sure, but I believe you cannot modify the user roles to block the Dashboard (as even the lowest role has access to it).
But if you combine Adminimize with a Role plugin, you can achieve a very fine tuned administrative interface.
Those 2 pages too are a part of the dashboard! If you're giving access to edit posts, means you're giving access to the posts list. The lowest capable role, subscriber, also has access to the profile page, which is also a part of the dashboard! Your best option would be a front end post addition/profile editing form.