Skip Navigation

[Resolved] Pierdo foto de usuario al actualizar campo

This support ticket is created 4 years, 5 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- - 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00
- - - - - - -

Supporter timezone: Asia/Ho_Chi_Minh (GMT+07:00)

This topic contains 3 replies, has 2 voices.

Last updated by Beda 4 years, 5 months ago.

Assisted by: Beda.

Author
Posts
#1376973
screencapture-saludsport-es-paciente-76089465t-2-2019-11-06-11_19_34.png
screencapture-saludsport-es-paciente-76089465t-2-2019-11-06-11_19_14.png
screencapture-saludsport-es-paciente-76089465t-2-2019-11-06-11_18_42.png

Buenas,

Tengo un sitio con una página de perfil por cada usuario, con varios campos diferentes, y varios formularios diferentes para actualizar dicha información.

Uno de los formularios es para editar solo un campo vinculado al CPT paciente, que es el status, cuando cambio el status se cambia correctamente, pero la foto de perfil del paciente se pierde, el resto de campos se mantiene perfectamente ¿a que puede deberse?

#1377021

Hay unos cuantos errores conocidos en Toolset Forms relacionados a Imágenes.
Creo que Usted experiencia esto error:
https://toolset.com/errata/toolset-forms-deletes-image-postmeta-if-field-is-conditionally-hidden-in-the-form-even-if-the-field-has-a-value-saved/

En breve, cuando un campo (imagen) es escondido condicionalmente en al Form, la Form remueve la imagen cuando Usted envía el formulario.
https://toolset.com/errata/toolset-forms-deletes-image-postmeta-if-field-is-conditionally-hidden-in-the-form-even-if-the-field-has-a-value-saved/

Hay otros problemas con imágenes en Formularios:
https://toolset.com/errata/issues-with-saving-images-and-media-fields-in-toolset-forms-when-using-amazon-s3-and-cloudfront-plugins/, y https://toolset.com/errata/custom-fields-lose-their-value-if-the-page-contains-two-forms-for-the-same-post-type/

Pero sospecho que la primera Erratum es la qual affecta Su Formulario.

En caso en el Formulario no hay ninguna imagen, ni escondida condicionalmente seria un otro BUG.
In tal caso, seria necesario proveerme con una copia de Su sitio sí posible. https://toolset.com/faq/provide-supporters-copy-site/
he activado un formulario privado para proveerme con la copia en caso seria necesario.

Gracias!

#1377031

Buenas,
Exactamente mi caso es como el primero, no hay solución disponible aún¿?

#1377035

Puedes intentar 2 cosas:

1. Remover el campo de la imagen desde el formulario (no lo necesitas, entonces puedes removerlo)
2. En caso esto no funcione, podemos intentar a añadir el campo de vuelta a el formulario (escondido como ahora) y aplicar un Código Personalizado que escucha a la $_POST, toma el valor del campo y con un update_post_meta() añadido a cred_save_data() re-actualizar el Post en la base de datos.

Un ejemplo:
https://pastebin.com/2BTbVbcs

function my_save_data_action($post_id, $form_data){
            // Change your CRED Form "ID" accordingly below
            if ($form_data['id']==ID){
               
                //Get Image field value
                $image_field = $_POST["exact_wpcf_slug"];//Ponga la SLUG exacta de su campo con imagen aquí
               
              update_post_meta($post_id, 'exact_wpcf_slug', $image_field);
               
            }
        }
    add_action('cred_save_data', 'my_save_data_action',10,2);

Con el código encima sacas el valor de el campo escondido desde el formulario $_POST y lo pones en el campo con la función WordPress update_post_meta
https://codex.wordpress.org/Function_Reference/update_post_meta
cred_save_data assegura que el código executa cuando el formulario es enviado.
https://toolset.com/documentation/programmer-reference/cred-api/#cred_save_data

En caso esto no funciona, intenta el mismo código un poco mas tarde en la "vida" de el formulario, por ejemplo con https://toolset.com/documentation/programmer-reference/cred-api/#cred_submit_complete

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.