Objektnummer / Objekttitel in Contact Form 7 verwenden

Über einen Filter und ein Hidden-Field können Objektnummer und -titel in CF7 Formularen ausgegeben werden:

/**
 * Objekttitel und -nummer als Shortcode-Attribut "inx-property"
 * ergänzen (im Formular bpsw. [hidden inx-property default:shortcode_attr]).
 */
function mysite_custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
  if ( empty( $_GET['inx-property-id'] ) ) {
    return $out;
  }
  $property_id   = (int) $_GET['inx-property-id'];
  $property_post = get_post( $property_id );
  if ( ! $property_post ) {
    return $out;
  }
  $my_attr         = 'inx-property';
  $custom_id       = get_post_meta( $property_id, '_inx_property_id', true );
  $out[ $my_attr ] = $property_post->post_title . ( $custom_id ? " ($custom_id)" : '' );
  return $out;
}
add_filter( 'shortcode_atts_wpcf7', 'mysite_custom_shortcode_atts_wpcf7_filter', 10, 3 );

Im Formular wird das Feld über den Shortcode ausgegeben:

[hidden inx-property default:shortcode_attr]