$context->encodeValueForForm($setting, $option->value), 'selected' => ($selectedValue === $option->value), 'disabled' => !$option->enabled, ], $option->label ); } $koOptionData = self::generateKoOptions($options); $optionBindings = array_map('wp_json_encode', $koOptionData); return [implode("\n", $htmlLines), $optionBindings]; } /** * @param CollectionControlOption[] $choiceOptions * @return array{options: array, optionsText: string, optionsValue: string} */ public static function generateKoOptions(array $choiceOptions): array { $koOptions = []; foreach ($choiceOptions as $option) { $koOptions[] = [ 'value' => $option->value, 'label' => $option->label, 'disabled' => !$option->enabled, ]; } return [ 'options' => $koOptions, 'optionsText' => 'label', 'optionsValue' => 'value', ]; } }