getLastErrors(); if ( false === $errs ) { return true; } return empty( $errs['warning_count'] ) && empty( $errs['error_count'] ); }; // 1. Try exact configured format if ( ! empty( $configured_format ) ) { $dt = DateTime::createFromFormat( '!' . $configured_format, $date_str ); if ( $is_valid_dt( $dt ) ) { return $dt->format( 'Y-m-d' ); } } // 2. Try standard / common formats $common_formats = array( 'Y-m-d', 'd/m/Y', 'm/d/Y', 'd.m.Y', 'Y/m/d', 'd-m-Y', 'm-d-Y', 'F j, Y', 'j F Y', 'M d, Y', ); foreach ( $common_formats as $fmt ) { $dt = DateTime::createFromFormat( '!' . $fmt, $date_str ); if ( $is_valid_dt( $dt ) ) { return $dt->format( 'Y-m-d' ); } } // 3. Fallback to strtotime $ts = strtotime( $date_str ); if ( false !== $ts && $ts > 0 ) { return gmdate( 'Y-m-d', $ts ); } return sanitize_text_field( $date_str ); } } require_once __DIR__ . '/includes/class-academic-certificate-verification.php'; /** * Initializing Plugin. * * @since 1.0.0 * @retun Object Plugin object. */ function acceve_init() { return ACCEVE_Certificate_Verify::get_instance(__FILE__); } add_action('plugins_loaded', 'acceve_init');