- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPForms Multilingual 0.3.5
- Đã giải quyết trong
- WPForms Multilingual 0.3.6
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Nếu bạn đang sử dụng WPForms và gần đây đã cập nhật lên 1.8.5.1, bạn có thể gặp phải lỗi sau trong thông tin debug.log nếu trang web của bạn đang chạy trong môi trường PHP8:
PHP Fatal error: Uncaught TypeError: strlen(): Argument #1 ($str) must be of type string, array given in .../wp-includes/formatting.php:3557
Giải pháp tạm thời
Khách hàng gặp phải sự cố này được khuyên nên quay lại phiên bản WPForms 1.8.4 cho đến khi có bản sửa lỗi.
Nếu không, vui lòng đảm bảo bạn đã sao lưu toàn bộ trang web của mình trước khi tiếp tục.
- Mở tệp …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php.
- Tìm dòng 70.
- Thay đổi:
public function applyEmailTranslations( $data, $emails ) { $package = $this->newPackage( $this->getId( $emails->form_data ) ); do_action( 'wpml_switch_language_for_email', $data['to'] ); $dataKeys = [ 'subject', 'message' ]; - Thành:
public function applyEmailTranslations( $data, $emails ) { $package = $this->newPackage( $this->getId( $emails->form_data ) ); if (is_array($data['to'])){ foreach ($data['to'] as $address){ do_action( 'wpml_switch_language_for_email', $address ); } } else { do_action( 'wpml_switch_language_for_email', $data['to'] ); } $dataKeys = [ 'subject', 'message' ];