Objekt-ID in eigene Formulare übernehmen (Ninja-Forms)

Bei Übermittlung der Formulardaten per Seitenwechsel

Das Beispiel bezieht sich auf die Verwendung von immonex Kickstart (Feld _inx_property_id).

/**
 * Objekt-ID in Ninja-Forms übernehmen
 */
function my_ninja_forms_submit_data( $form_data ) {
  foreach ( $form_data['fields'] as $i => $field ) {
    // `my_key` ist durch die eigene Feldbezeichnung in Ninja-Forms zu ersetzen
    if ( 'my_key' === $field['key'] ) {
      $form_data['fields'][ $i ]['value'] = get_post_meta( get_the_ID(), '_inx_property_id', true );
    }
  }
  return $form_data;
}
add_filter( 'ninja_forms_submit_data', 'my_ninja_forms_submit_data' );

Bei der Verwendung eines anderen Theme muss in der Mapping-Tabelle geschaut werden, in welchem Destination-Feld der Source-Wert von verwaltung_techn->objektnr_extern abgelegt wird.

Ist keine Angabe in der Mapping-Tabelle hinterlegt, dann kann diese mit den folgenden Werten eingetragen werden:

TypeSourceDestination
custom_fieldverwaltung_techn->objektnr_extern_inx_property_id

Bei Übermittlung der Formulardaten per AJAX

Die Lösung kommt dabei ganz ohne eine Filterfunktion aus: Die Objektnummer kann per Post Merge Tag {post_meta:_inx_property_id} direkt einem Eingabefeld (oder einem Hidden-Feld) als Standardwert zugeordnet werden.