有没有简单的方法。。。
好吧,不,一点也不。
如果使用单站点安装,则需要小心禁用(而不是隐藏,disable) 所有可能修改内容的用户操作。这必须逐屏完成(帖子、页面、评论、外观、插件等)。
例如,在“所有帖子”屏幕中(/wp-admin/edit.php
):
/**
* Remove all row actions Edit|Quick Edit|Trash|View
*/
add_filter( \'post_row_actions\', \'wpse_56560_remove_row_actions\', 10, 2 );
function wpse_56560_remove_row_actions( $actions, $post )
{
global $current_user;
if( \'pseudo-admin\' == $current_user->user_login )
return array();
return $actions;
}
/**
* Remove the Trash link from All|Published|Trash
*/
add_filter( \'views_edit-post\', \'wpse_74488_remove_trash_link\' );
function wpse_74488_remove_trash_link( $views )
{
global $current_user;
if( \'pseudo-admin\' == $current_user->user_login )
unset( $views[\'trash\'] );
return $views;
}
在后期编辑屏幕中(
/wp-admin/post.php?post=ID&action=edit
):
/**
* Remove the Publish meta box
*/
add_action( \'do_meta_boxes\', \'wpse33063_remove_meta_box\' );
function wpse33063_remove_meta_box()
{
global $current_user;
if( \'pseudo-admin\' == $current_user->user_login )
remove_meta_box( \'submitdiv\', \'post\', \'side\' );
}
在前面的示例中,所有函数名都包含它们来自的WPSE问题的ID
另请参阅this Gist 了解如果用户尝试使用直接URL访问页面,如何重定向用户。
如果使用多站点安装,@BrianFegger回答此问题:How can I open up my administrative panel to everyone?, 有一个很好的建议:
我将使用WP Multisite并允许用户注册测试站点。Woo Themes用他们的playground feature.