Julius'Lab

(Formidable) Actualizar un campo en otro formulario con el ID de la entrada del otro formulario (Ejemplo: ID de Usuario)

Al CREAR una entrada nueva, este código copiará el valor de un campo en un Formulario Origen, en una entrada de un Formulario Destino, identificando esta última entrada con el valor de un campo en el Formulario Origen.

El Formulario Origen debe tener un campo con la entrada (del Formulario Destino) que se desea actualizar.

El siguiente código aplica al ID de usuario, el cual se copiará en el ID de usuario de la otra entrada.

add_action('frm_after_create_entry', 'frm_update_entry_in_other_form', 30, 2);
function frm_update_entry_in_other_form($entry_id, $form_id){
    if ( $form_id !== 2 ) { // 2 es el Formulario Origen
        return;
    }

    $entry_id = $_POST['item_meta'][676]; //676 es el campo del Formulario Origen con el ID de la entrada del Formulario Destino en la que se va a copiar
    $field_id = 673; //673 es el campo ID de Usuario en el Formulario Destino (donde se va a colocar el valor)
    $new_value = $_POST['item_meta'][80];// 80 es el campo ID de Usuario del Formulario Origen (contiene el valor a copiar)

    $added = FrmEntryMeta::add_entry_meta( $entry_id, $field_id, null, $new_value );
    if ( ! $added ) {
        FrmEntryMeta::update_entry_meta( $entry_id, $field_id, null, $new_value );
    }
}

Fuente del código (modificado por Julius): https://formidableforms.com/knowledgebase/frm_after_create_entry/#kb-save-the-entry-id-in-a-field

Search