option_key = $option_key; $this->option = $option; $this->set_option_label(); $this->set_saved_value(); } /** * Set the option label * * @since 2.03.05 * * @return void */ private function set_option_label() { $this->option_label = is_array( $this->option ) ? ( $this->option['label'] ?? reset( $this->option ) ) : $this->option; } /** * Set the saved value * * @since 2.03.05 * * @return void */ protected function set_saved_value() { $this->saved_value = $this->option_label; } /** * Print a single option * * @since 2.03.05 * * @param string $selected_value The value of the option to be selected. * @param int $truncate Truncate the option label if true. * @param bool $use_value_as_label Use the option value as the label if true. * * @return void */ public function print_single_option( $selected_value, $truncate, $use_value_as_label = false ) { if ( '' === $this->saved_value && ! $use_value_as_label ) { return; } if ( $use_value_as_label && '' === trim( $this->option_label ) ) { $label = '' !== $this->saved_value ? $this->saved_value : FrmAppHelper::get_no_label_text(); } else { $label = $this->option_label; } echo ''; } }