. * * @return array Array where the first item is the hook name, the second is the hook callback, * and the third is the hook priority. */ protected function get_verify_features_option_filter_hook() { return [ "option_{$this->option_name}", [ $this, 'verify_features_against_network' ], 11, ]; } /** * Gets the filter hook name and callback for adjusting the default option value against the network-allowed features. * * @return array Array where the first item is the hook name, the second is the hook callback, * and the third is the hook priority. */ protected function get_verify_features_default_option_filter_hook() { return [ "default_option_{$this->option_name}", [ $this, 'verify_features_against_network' ], 11, ]; } /** * Clean a given option value. * * @param array $option_value Old (not merged with defaults or filtered) option value to * clean according to the rules for this option. * @param string $current_version Optional. Version from which to upgrade, if not set, * version specific upgrades will be disregarded. * @param array $all_old_option_values Optional. Only used when importing old options to have * access to the real old values, in contrast to the saved ones. * * @return array Cleaned option. */ protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { // Deal with value change from text string to boolean. $value_change = [ 'ignore_search_engines_discouraged_notice', ]; $target_values = [ 'ignore', 'done', ]; foreach ( $value_change as $key ) { if ( isset( $option_value[ $key ] ) && in_array( $option_value[ $key ], $target_values, true ) ) { $option_value[ $key ] = true; } } return $option_value; } }