register_owned_keys(); } /** * Returns keys for owned settings. * * @since 1.132.0 * * @return array An array of keys for owned settings. */ public function get_owned_keys() { return array( 'publicationID' ); } /** * Gets the default value. * * @since 1.132.0 * * @return array */ protected function get_default() { return array( 'ownerID' => 0, 'publicationID' => '', 'publicationOnboardingState' => '', 'publicationOnboardingStateChanged' => false, ); } /** * Returns keys for view-only settings. * * @since 1.132.0 * * @return array An array of keys for view-only settings. */ public function get_view_only_keys() { return array(); } /** * Gets the callback for sanitizing the setting's value before saving. * * @since 1.132.0 * * @return callable|null */ protected function get_sanitize_callback() { return function ( $option ) { if ( isset( $option['publicationID'] ) ) { if ( ! preg_match( '/^[a-zA-Z0-9_-]+$/', $option['publicationID'] ) ) { $option['publicationID'] = ''; } } if ( isset( $option['publicationOnboardingStateChanged'] ) ) { if ( ! is_bool( $option['publicationOnboardingStateChanged'] ) ) { $option['publicationOnboardingStateChanged'] = false; } } if ( isset( $option['publicationOnboardingState'] ) ) { $valid_onboarding_states = array( self::ONBOARDING_STATE_UNSPECIFIED, self::ONBOARDING_STATE_ACTION_REQUIRED, self::ONBOARDING_STATE_PENDING_VERIFICATION, self::ONBOARDING_STATE_COMPLETE, ); if ( ! in_array( $option['publicationOnboardingState'], $valid_onboarding_states, true ) ) { $option['publicationOnboardingState'] = ''; } } return $option; }; } }