Ü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]