Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Related Rants

What only relying on JavaScript for HTML form input validation looks like
How to vertically center in css..
Yeah no
How to restrict access to /wp-admin based on user capabilities
By default WordPress allows access to the /wp-admin/ side if your site to all of the registered users. Of course the screens and data they may access is limited by their role: subscribers can only update their accounts and read announcements showing on in the dashboars, while contributors can write articles and moderate comments.
However, most of the time, either as a security measure or to force users update their profiles from the profile screen on the front-end we would rather restrict access to /wp-admin/ for some user roles.
This can be done by attaching a callback hook to the init action of WordPress, as shown below:
if (!function_exists('restrict_wp_admin')):
/**
* Restricts access to /wp-admin/ for users with roles below contributor.
* @author Adrian7 (http://wpdev.me/)
*/
function restrict_wp_admin () {
//check if the current user can edit_posts
//for available roles/capabilities to check against see http://codex.wordpress.org/Roles_an...
if( current_user_can('edit_posts') ) {
return true;
}
//redirects un-welcomed users to home page;
wp_redirect( home_url() ); exit;
}
endif;
if ( is_admin() ) add_action('init', 'restrict_wp_admin');
The code works as follows:
Checks if the current page is an wp-admin screen: if ( is_admin() ) ...;
If true (yes), attaches the callback function to the init action: add_action('init', 'restrict_wp_admin');
When the function is getting called during the init, it first checks if the current user can edit_posts: if( current_user_can('edit_posts') );
It he/she can, then it means it’s their role allows them to edit content https://domywriting.com/ , so it’s safe to let them continue: return true;
If they can’t, we’re gonna redirect them to the home page: wp_redirect( home_url() ); exit;;
The exit at the end is not actually required for the function to work, but it gives assurance in case wp_redirect fails for any reason, the request is not gonna go any further.
rant
css
wp
html