Skip Navigation

[Resolved] Give logged in user access to Media Library but no other admin areas

This thread is resolved. Here is a description of the problem and solution.


The Media Library pop up show but they can't do anything.


You need to enable AJAX in the custom codes, for example:

	if($user_role === 'exhibitor' && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ){

Relevant Documentation:

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

This topic contains 1 reply, has 1 voice.

Last updated by michaelR-26 3 months, 3 weeks ago.

Assigned support staff: Luo Yang.


On a previous ticket you helped me block user access to the admin area, unless they were an admin.

I now realize that users will need access to the media library to view and upload new media. I tried having Access control the Media LIbrary, but that did not work. The Media Library pop up show but they can't do anything. See attached screen shot.

Is there are way to modify the origional code you provided to accomplish this?

Here is the code:

function func_no_admin_access() {
$redirect = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : home_url( '/' );
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
if($user_role === 'exhibitor'){
exit( wp_redirect( $redirect ) );
add_action( 'admin_init', 'func_no_admin_access', 100 );


My issue is resolved now. Thank you!