Frontier Restrict Backend
Frontier Restrict Backend will restrict users from access to the backend (admin area)
Main Features
- Users without the capability manage_options will not have access to the backend (admin area, and will be redirected to the home url.
Frontier Restrict Backend on wordpress.org: Download Plugin | Plugin Support
Code is simple, and if you do not want to install the plugin, you can add the below code to your functions.php
function my_own_restrict_backend($query)
{
if ( is_admin() && ! current_user_can( 'manage_options' ) )
{
$admin_ok = false;
if (defined( 'DOING_AJAX' ) && DOING_AJAX )
{
$admin_ok = true;
}
else
{
if (strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/media-upload.php' ) !== false)
{
$admin_ok = true;
}
}
if ( !$admin_ok)
{
error_log("Back-end access blocked");
wp_redirect( home_url() );
exit;
}
else
{
error_log("Back-end access allowed - Media upload or AJAX");
}
}
}
add_action( 'init', 'my_own_restrict_backend' );

Comments
Frontier Restrict Backend — No Comments
Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /var/www/wpfrontier.com/public_html/wp-content/plugins/frontier-buttons/include/frontier-buttons-hooks.php:395 Stack trace: #0 /var/www/wpfrontier.com/public_html/wp-content/plugins/frontier-buttons/include/frontier-buttons-hooks.php(395): implode(Array, ',') #1 /var/www/wpfrontier.com/public_html/wp-includes/class-wp-hook.php(324): frontier_buttons_teeny_init(Array, 'comment') #2 /var/www/wpfrontier.com/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array) #3 /var/www/wpfrontier.com/public_html/wp-includes/class-wp-editor.php(804): apply_filters('teeny_mce_befor...', Array, 'comment') #4 /var/www/wpfrontier.com/public_html/wp-includes/class-wp-editor.php(312): _WP_Editors::editor_settings('comment', Array) #5 /var/www/wpfrontier.com/public_html/wp-includes/general-template.php(3971): _WP_Editors::editor('', 'comment', Array) #6 /var/www/wpfrontier.com/public_html/wp-content/plugins/frontier-buttons/include/frontier-buttons-hooks.php(468): wp_editor('', 'comment', Array) #7 /var/www/wpfrontier.com/public_html/wp-includes/class-wp-hook.php(324): frontier_buttons_comments_editor(Array) #8 /var/www/wpfrontier.com/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array) #9 /var/www/wpfrontier.com/public_html/wp-includes/comment-template.php(2681): apply_filters('comment_form_de...', Array) #10 /var/www/wpfrontier.com/public_html/wp-content/themes/weaver-xtreme/comments.php(89): comment_form() #11 /var/www/wpfrontier.com/public_html/wp-includes/comment-template.php(1631): require('/var/www/wpfron...') #12 /var/www/wpfrontier.com/public_html/wp-content/themes/weaver-xtreme/single.php(55): comments_template('/comments.php', true) #13 /var/www/wpfrontier.com/public_html/wp-includes/template-loader.php(113): include('/var/www/wpfron...') #14 /var/www/wpfrontier.com/public_html/wp-blog-header.php(19): require_once('/var/www/wpfron...') #15 /var/www/wpfrontier.com/public_html/index.php(17): require('/var/www/wpfron...') #16 {main} thrown in /var/www/wpfrontier.com/public_html/wp-content/plugins/frontier-buttons/include/frontier-buttons-hooks.php on line 395