screens[ AFASM_Screen_Mobile_Login::ID ] = new AFASM_Screen_Mobile_Login(); $this->screens[ AFASM_Screen_Staff::ID ] = new AFASM_Screen_Staff(); $this->screens[ AFASM_Screen_About::ID ] = new AFASM_Screen_About(); } /** * Settings screens * * @return AFASM_Screen[] */ public function get_screens() { $screens = array_filter( $this->screens, function( $value ) { return $value instanceof AFASM_Screen; } ); return $screens; } /** * Render tabs * * @return void */ public function render() { $tabs = $this->get_tabs(); $current_tab = AFASM_Screen_Mobile_Login::ID; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['tab'] ) && in_array( $_GET['tab'], array_keys( $tabs ), true ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $current_tab = sanitize_text_field( wp_unslash( $_GET['tab'] ) ); } $screen = $this->screens[ $current_tab ]; ?>

render(); ?>
get_screens() as $screen_id => $screen ) { $tabs[ $screen_id ] = $screen->get_label(); } return $tabs; } }