WooCommerce has a nice feature when it comes to WordPress Error 500 / Fatal Error – it logs the error and all the information regarding it inside the WooCommerce Status > Logs > Fatal Errors area.
My problem is that sometimes these errors occur in the backend, so they may not trigger the WordPress built-in email that notifies the admin about the problem.
What I want to try (please test it on your development website first, and not on your live website), is a way to get an email each time WooCommerce logs an error, so that I can go in and fix it immediately. Enjoy!
PHP Snippet: Email Admin Each Time a WordPress Fatal Error Occurs
/**
* @snippet Email Fatal Errors to Admin
* @how-to businessbloomer.com/woocommerce-customization
* @author Rodolfo Melogli, Business Bloomer
* @compatible WooCommerce 7
* @community https://businessbloomer.com/club/
*/
add_action( 'woocommerce_shutdown_error', 'bbloomer_email_fatal_errors' );
function bbloomer_email_fatal_errors( $error ) {
$email_subject = "Critical Error On Your WooCommerce Site";
$email_content = sprintf( __( '%1$s in %2$s on line %3$s', 'woocommerce' ), $error['message'], $error['file'], $error['line'] );
wp_mail( get_option( 'admin_email' ), $email_subject, $email_content );
}
Very useful, thanks a lot Rodolfo 🙂
Great! I still use it!