Create Read Only Admin

时间:2013-02-23 作者:Raymond

有没有一种简单的方法可以创建具有只读权限的管理员用户?也就是说,他们可以登录并查看管理员可以查看的所有内容,但他们根本无法更改任何内容。

1 个回复
SO网友:brasofilo

有没有简单的方法。。。

好吧,不,一点也不。

如果使用单站点安装,则需要小心禁用(而不是隐藏,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.

结束

相关推荐

在wp-admin中添加调用wp函数的按钮或图像按钮

我有一个自定义的post类型的产品,我已经设置为使用metaboxes上传PDF。当我在wp admin上生成元数据库时,我会查看元数据库是否已经上传了pdf。如果有,我会生成一个指向pdf的链接。如果没有,我会生成一个文件上载控件,他们可以根据需要选择要上载的文件。下面是生成此元数据的函数的外观。function products_pdf_uploads_show_meta() { global $meta_box_pdf_uploads, $post, $prefix; &#x