如果当前用户不是管理员,请删除"媒体库"按钮 - Wordpress



当我向帖子添加图库时,我希望媒体按钮仅对管理员显示。 其他人不会看到。 我该怎么做?

为此,您首先需要在"functions.php"文件中添加一个函数,该函数根据当前用户角色向主体添加一个类:

/*
|--------------------------------------------------------------------------
| Add class to body depending on the current user role, i.e. role-*role
|--------------------------------------------------------------------------
*/
function role_body_class($classes) 
{
global $current_user;
foreach ($current_user->roles as $role)
$classes .= ' role-' . $role;
return trim($classes);
}
add_filter('admin_body_class', 'role_body_class');

然后,我们只想在正文没有"角色管理员"类时才隐藏"媒体库"按钮。我们无法在style.css文件中执行此操作,因为此文件未加载到管理页面中。为此,我们可以创建一个名为"admin.css"的新CSS文件,并将其排队进入管理页面。

/*
|--------------------------------------------------------------------------
| Enqueue admin styles
|--------------------------------------------------------------------------
*/
function my_admin_theme_style()
{
wp_enqueue_style('my-admin-styles', get_template_directory_uri() . './admin.css');
}
add_action('admin_enqueue_scripts', 'my_admin_theme_style');

现在最后一步是编写隐藏"媒体库"按钮所需的css,如果当前用户不是管理员。打开"admin.css"文件并添加此代码:

/*
|--------------------------------------------------------------------------
| Hide the Media Library button if the current user is not an administrator
|--------------------------------------------------------------------------
*/
body:not(.role-administrator).post-type-post class-or-id-of-the-media-library-button 
{
display: none;
}

您只需要将class-or-id-of-the-media-library-button替换为可以选择按钮(类或 id(的内容。

希望这有帮助!

最新更新