To avoid that error, you have to add something in your function like:
add_filter( 'woocommerce_email_recipient_new_order', 'tm_destinatario_condicionado_wc', 10, 2 );
function tm_destinatario_condicionado_wc( $recipient, $order ) {
// To avoid an error in backend
if( ! is_a($order, 'WC_Order') ) return $recipient;
$estados = array(
'aguascalientes' => 'AG',
'baja-california' => 'BC',
// etc etc ...
);
// Get billing state 2 digits
// This is what is causing the error
$estado_siglas = $order->get_billing_state();
// Get the keys of $estados by the value (wich is the 2 digit billing
// state) to get state name
$estado_slug = array_search( $estado_siglas, $estados );
// Gets the id of a taxonomy related to the state based on the name
// obtained from $estados theres a custon field containing the recipients
$estado_id = get_term_by( 'slug', $estado_slug, 'estados' )->term_id;
// get the custom field with the recipients
$emails = get_field( 'sucursal_email', 'estados_' . $estado_id );
// Add the custom field content to the recipient
$recipient .= ', ' . $emails;
return $recipient;
}
This should solve your issue definitively…