$this->parse_error_message($error_message)); wp_send_json_error($response); } private function parse_error_message($error_message) { // İlk olarak JSON formatında olup olmadığını kontrol ediyoruz. $decoded_message = json_decode($error_message, true); // Eğer düzgün bir şekilde JSON formatına dönüştürülebildiyse... if (is_array($decoded_message) && isset($decoded_message['error'])) { // 'error' anahtarının değerini kontrol ediyoruz. $error_info = $decoded_message['error']; // Eğer 'error' içinde 'message' anahtarı varsa onu döndürüyoruz. if (is_array($error_info) && isset($error_info['message'])) { return $error_info['message']; } } // Eğer 'message' içinde bir JSON string'i varsa, bunu da kontrol ediyoruz. if (isset($decoded_message['message'])) { // İkinci seviye JSON string'ini decode etmeye çalışıyoruz. $inner_decoded_message = json_decode($decoded_message['message'], true); // Eğer bu da düzgün bir şekilde decode edildiyse ve içinde 'message' anahtarı varsa... if (is_array($inner_decoded_message) && isset($inner_decoded_message['error']) && isset($inner_decoded_message['error']['message'])) { // En içteki 'message' anahtarının değerini döndürüyoruz. return $inner_decoded_message['error']['message']; } else { // İkinci seviyede 'message' değeri yoksa, dıştaki 'message' değerini döndürüyoruz. return $decoded_message['message']; } } if (gettype($error_message) === "string" && strpos($error_message, "message")) { preg_match('/"message": "(.*)"/', $error_message, $message_matches); if (!empty($message_matches[1])) { return $message_matches[1]; } } // Hiçbir JSON formatına uymuyorsa, orijinal hata mesajını olduğu gibi döndürüyoruz. return $error_message; } } AIPSTX_notifications::get_instance(); }