options = $options; } public function add_hooks() { add_action( 'load-wpml_page_wpml-media', array( $this, 'add_options' ) ); add_filter( 'set-screen-option', array( $this, 'set_screen_option' ), 10, 3 ); } public function add_options() { foreach ( $this->options as $option ) { add_screen_option( $option['key'], $option['args'] ); } } public function set_screen_option( $status, $option_name, $value ) { if ( $this->is_valid_option( $option_name ) ) { update_option( $option_name, $value ); } } private function is_valid_option( $option_name ) { $valid = false; foreach ( $this->options as $option ) { if ( $option_name === $option['args']['option'] ) { $valid = true; break; } } return $valid; } }