ACF field group not found.

'; } ob_start(); ?>
]*>.*?\[acf-group:group_[A-Za-z0-9]+\].*?~is', '', $html, 1 ); return '
' . $html . '
'; } /** * Store submitted ACF values in Events Manager booking metadata. */ function my_emp_store_acf_booking_values( $booking ) { if ( empty( $_POST['my_emp_acf_groups'] ) || empty( $_POST['acf'] ) || ! is_array( $_POST['acf'] ) ) { return; } $posted_acf = wp_unslash( $_POST['acf'] ); $groups = array_unique( (array) wp_unslash( $_POST['my_emp_acf_groups'] ) ); $saved = array(); foreach ( $groups as $group_key ) { if ( ! preg_match( '/^group_[A-Za-z0-9]+$/', $group_key ) ) { continue; } $fields = acf_get_fields( $group_key ); if ( empty( $fields ) ) { continue; } foreach ( $fields as $acf_field ) { if ( array_key_exists( $acf_field['key'], $posted_acf ) ) { $saved[ $group_key ][ $acf_field['key'] ] = $posted_acf[ $acf_field['key'] ]; } } } if ( $saved ) { $booking->booking_meta['booking']['acf'] = $saved; } } /* Standard single-event bookings. */ add_filter( 'em_booking_get_post', function( $result, $EM_Booking ) { my_emp_store_acf_booking_values( $EM_Booking ); return $result; }, 20, 2 ); /* Multiple Bookings checkout. */ add_filter( 'em_multiple_booking_get_post', function( $result, $EM_Multiple_Booking ) { my_emp_store_acf_booking_values( $EM_Multiple_Booking ); return $result; }, 20, 2 ); /** * Replace the default Booking Details rows with Comment + stored ACF values. */ add_action( 'em_bookings_single_custom', 'my_emp_show_acf_on_booking_edit_screen', 10, 1 ); function my_emp_show_acf_on_booking_edit_screen( $EM_Booking ) { $groups = $EM_Booking->booking_meta['booking']['acf'] ?? array(); if ( empty( $groups ) || ! is_array( $groups ) || ! function_exists( 'acf_get_fields' ) ) { return; } foreach ( $groups as $group_key => $values ) { $fields = acf_get_fields( $group_key ); if ( empty( $fields ) || ! is_array( $values ) ) { continue; } foreach ( $fields as $acf_field ) { if ( ! array_key_exists( $acf_field['key'], $values ) ) { continue; } $raw_value = $values[ $acf_field['key'] ]; $formatted_value = function_exists( 'acf_format_value' ) ? acf_format_value( $raw_value, 0, $acf_field ) : $raw_value; ?> post_title ) ) { return esc_html( $value->post_title ); } return esc_html( wp_json_encode( $value ) ); } if ( is_array( $value ) ) { $items = array(); foreach ( $value as $item ) { $items[] = my_emp_acf_booking_value_html( $item ); } return implode( ', ', $items ); } return nl2br( esc_html( (string) $value ) ); }