is_target_user()){ $wp_admin_bar->add_node( [ 'id' => 'login-monitor', 'parent' => 'top-secondary', 'meta' => [], 'title' => '-- ' . __( 'Logged in', 'admin-user-control' ) . '', 'href' => '#', ] ); $wp_admin_bar->add_node( [ 'id' => 'login-monitor-detail', 'parent' => 'login-monitor', 'meta' => [], 'title' => '', 'href' => '#', ] ); } } public function is_target_user(){ if (current_user_can( 'administrator' ) || get_option('auc_lm_display_user') != '1'){ return true; } return false; } public function create_response( $lifetime ) { $ary = []; $now = time(); update_user_meta( get_current_user_id(), self::UM_KEY, $now ); $expire = $now - $lifetime; $users = new WP_User_Query( [ 'meta_key' => self::UM_KEY, 'meta_value' => $expire, 'meta_compare' => '>', ] ); $isAdministrator = current_user_can( 'administrator' ); foreach ( $users->get_results() as $user ) { $avatar_url = esc_url(get_avatar_url( $user->ID, [ 'size' => 28 ] )); $ary['login-monitor'][] = [ 'id' => $user->ID, 'nice_name' => $user->user_nicename, 'display_name' => $user->display_name, 'color' => substr( md5( $user->display_name ), 0, 6 ), 'profile_url' => $isAdministrator ? apply_filters( 'auc_lm_user_link', $this->get_admin_edit_user_link( $user->ID ) ) : null, 'avatar_url' => $avatar_url ]; } return $ary; } private function get_admin_edit_user_link( $user_id ) { if ( get_current_user_id() == $user_id ) { $edit_link = null; } else { $edit_link = add_query_arg( 'user_id', $user_id, self_admin_url( 'user-edit.php' ) ); } return $edit_link; } }