Prácticamente no hay documentación sobre esto, y el archivo de la API del plugin no tiene un comentario que explique el uso de esta función. Además, el único lugar donde puedo verla utilizada es en los plugins, no en el núcleo. Entonces, ¿qué hace exactamente api.addSaveableUserOptionField()? ¿Se necesita configuración adicional para usarla?
No lo sé, pero esto es lo que creo que descubrí.
Pero antes, mi pregunta es, ¿por qué te importa? ¿Hay algo que estés intentando hacer? Pero tal vez si estás intentando crear un plugin que tenga opciones de usuario, así es como se hace. No se usa en el núcleo, ya que es un hook especialmente para que los plugins puedan tener sus propias opciones de usuario.
Parece que se usa en el plugin de Chat como aquí:
Parece que si tu plugin tiene opciones de usuario, entonces usas esto para establecer que es una opción de usuario con el UserUpdater.
Sí, planeo tener una configuración de usuario en un plugin. Anteriormente vi que Chat y, si no me equivoco, AI usaron esta función para agregar configuraciones de usuario, así que me preguntaba si había una forma documentada de hacerlo.
Volviendo a esto, parece que hay más información al respecto.
Esto ahora enumera 3 funciones: addSaveableUserField(), addSaveableUserOption() y addSaveableCustomFields().
Parece que la primera se refiere a añadir y guardar campos de usuario personalizados definidos por el administrador. Sin embargo, las dos siguientes no están tan claras. ¿Requieren un complemento para usar register_custom_user_field :... en el backend? ¿Se necesita hacer algo más, o puede funcionar en un TC?
Gracias.
Parece que funciona tanto para los campos personalizados añadidos en la experiencia de usuario (UX) como a través de un complemento. Para los campos personalizados, obtienen nombres como user_field_1, estoy bastante seguro. Puedes mirar en la tabla con el explorador de datos, por ejemplo. O tal vez signifique solo los campos añadidos por la UX (“campos de perfil definidos por el administrador”), en cuyo caso usarías el nombre que le diste al crearlo. Yo simplemente lo intentaría de ambas maneras.
Y GitHub está caído, así que no puedo revisar el código allí.