93 lines
1.5 KiB
PHP
93 lines
1.5 KiB
PHP
<?php
|
|
|
|
/*
|
|
* it means someone outside wp is accessing the file, in this case kill it.
|
|
*/
|
|
if (!defined('ABSPATH')) {
|
|
die('You can not access this file!');
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* hide admin bar if access a front page and is not an admin
|
|
*/
|
|
function hide_admin_bar_CIPF() {
|
|
PLGNTLS_class::debug_infos();
|
|
$role_admin = PLGNTLS_class::ROLE_ADMIN;
|
|
$role_fipf = PLGNTLS_class::ROLE_FIPF;
|
|
|
|
|
|
/*
|
|
* on admin page, don't hide bar of course
|
|
*
|
|
*/
|
|
if (is_admin()) {
|
|
return;
|
|
}
|
|
|
|
|
|
/*
|
|
* check multiple user roles
|
|
* https://developer.wordpress.org/reference/functions/current_user_can/#div-comment-4083
|
|
*
|
|
*/
|
|
$current_user = wp_get_current_user();
|
|
$allowed_roles = array($role_admin, $role_fipf);
|
|
if (array_intersect($allowed_roles, $current_user->roles)) {
|
|
return;
|
|
}
|
|
show_admin_bar(false);
|
|
}
|
|
add_action('after_setup_theme', 'hide_admin_bar_CIPF');
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* prevent users to access admin page
|
|
*
|
|
*/
|
|
function restrict_admin_access_CIPF() {
|
|
PLGNTLS_class::debug_infos();
|
|
$role_admin = PLGNTLS_class::ROLE_ADMIN;
|
|
$role_fipf = PLGNTLS_class::ROLE_FIPF;
|
|
|
|
/*
|
|
* this concerns logged_in users, for admin page
|
|
*
|
|
*/
|
|
if (!is_user_logged_in()) {
|
|
return;
|
|
}
|
|
if (!is_admin()) {
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* some roles are allowed to access the admin panel
|
|
*
|
|
*/
|
|
$current_user = wp_get_current_user();
|
|
$allowed_roles = array($role_admin, $role_fipf);
|
|
if (array_intersect($allowed_roles, $current_user->roles))
|
|
return;
|
|
|
|
/*
|
|
* every other roles are redirected
|
|
*
|
|
*/
|
|
redirection_profil_CIPF();
|
|
}
|
|
//add_action('init', 'restrict_admin_access_CIPF', 100);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?>
|