$name,'value'=>$val]; } public static function updateOption(array $args): array { $name = $args['option_name']; if (in_array($name, self::$blocked, true)) throw new \RuntimeException("Option '{$name}' is restricted."); update_option($name, $args['option_value']); return ['option_name'=>$name,'updated'=>true]; } public static function listOptions(array $args): array { global $wpdb; $prefix = $args['prefix'] ?? ''; $like = $wpdb->esc_like($prefix) . '%'; $rows = $wpdb->get_results($wpdb->prepare("SELECT option_name, LENGTH(option_value) as val_length FROM {$wpdb->options} WHERE option_name LIKE %s LIMIT 100", $like), ARRAY_A); return ['options'=>$rows,'prefix'=>$prefix]; } }