We know, that is_admin()
checks if current URL belongs to DASHBOARD (BUT it doenst check whether user is ADMIN).
So, I use this function to detect if administrator is logged in wordpress:
function is_admin_user(){
require_once(ABSPATH.'wp-includes/pluggable.php'); return current_user_can('create_users'); //or 'manage_options'
}
however, that is not ideal solution. Does there exist any built-in function, like wp_is_administrator()
?
We know, that is_admin()
checks if current URL belongs to DASHBOARD (BUT it doenst check whether user is ADMIN).
So, I use this function to detect if administrator is logged in wordpress:
function is_admin_user(){
require_once(ABSPATH.'wp-includes/pluggable.php'); return current_user_can('create_users'); //or 'manage_options'
}
however, that is not ideal solution. Does there exist any built-in function, like wp_is_administrator()
?
current_user_can
will accept a role name but, sadly, the behavior with roles is not entirely consistent.
The following should work and is simpler than what you have, by a little bit.
$current_user = wp_get_current_user();
if (user_can( $current_user, 'administrator' )) {
// user is an admin
}
It seems that the simplest way would in fact be to use current_user_can as such:
if( current_user_can( 'administrator' ) ){} // only if administrator
This seems like a duplicate.
if(current_user_can('administrator'))
– Howdy_McGee ♦ Commented Aug 2, 2013 at 17:06