get_field_format() );
$global_settings = BWFAN_Common::get_global_settings();
$name = $this->get_prefix() . $this::get_slug();
$width = isset( $field_data['width'] ) ? esc_attr( $field_data['width'] ) : '';
$label = isset( $field_data['label'] ) ? esc_attr( $field_data['label'] ) : '';
$required = isset( $field_data['required'] ) ? esc_attr( $field_data['required'] ) : false;
$hash = isset( $field_data['hash_key'] ) ? esc_attr( $field_data['hash_key'] ) : '';
$value = $this->get_default_value( $field_data );
$class = $this->get_input_class( $field_data );
if ( ! empty( $global_settings['bwfan_hide_dob_field'] ) && ! empty( $value ) ) {
return;
}
// Parse date for the dropdowns if we have a value
$selected_date = '';
$selected_month = '';
$selected_year = '';
if ( ! empty( $value ) ) {
$date_parts = explode( '-', $value );
if ( count( $date_parts ) === 3 ) {
$selected_year = $date_parts[0];
$selected_month = $date_parts[1];
$selected_date = $date_parts[2];
}
}
?>
'wffn-sm-100',
'type' => $this::get_slug(),
'label' => __( 'Birthday', 'wp-marketing-automations-pro' ),
'placeholder' => '',
'required' => false,
'InputName' => $this->get_prefix() . $this::get_slug(),
'default' => '',
);
}
public function get_sanitized_value( $data, $field ) {
// Handle new format with multiple selects
$base_name = $field['InputName'];
$year = isset( $data[ $base_name . '_yy' ] ) ? wffn_clean( $data[ $base_name . '_yy' ] ) : '';
$month = isset( $data[ $base_name . '_mm' ] ) ? wffn_clean( $data[ $base_name . '_mm' ] ) : '';
$day = isset( $data[ $base_name . '_dd' ] ) ? wffn_clean( $data[ $base_name . '_dd' ] ) : '';
// If all parts are present, create the date
if ( ! empty( $year ) && ! empty( $month ) && ! empty( $day ) ) {
return $year . '-' . $month . '-' . $day;
}
// Fall back to old format if new format isn't present
return isset( $data[ $base_name ] ) ? wffn_clean( $data[ $base_name ] ) : '';
}
public function get_default_value( $field_data ) {
if ( ! WFFN_Common::is_page_builder_editor() && true === apply_filters( 'wffn_optin_default_login_data', true, $field_data ) ) {
global $current_user;
if ( ! $current_user instanceof WP_User ) {
return '';
}
return get_user_meta( $current_user->ID, 'bwfan_birthday_date', true );
}
return '';
}
}
if ( class_exists( 'WFOPP_Core' ) ) {
WFOPP_Core()->form_fields->register( WFFN_Optin_Form_Field_Birthday::get_instance() );
}
}