- Статус
- Решено
- Заявлено для
- Advanced Custom Fields Multilingual 2.0.5
- Решено в
- Advanced Custom Fields Multilingual 2.1.0
- Связанный плагин/тема
- Advanced Custom Fields (ACF)
- Теги темы
- Compatibility
Обзор проблемы
При использовании плагина Advanced Custom Fields может возникнуть следующая фатальная ошибка. Эта ошибка наблюдается именно в PHP 8 или выше:
Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in .../wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php:259
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.
- Откройте файл …/wp-content/plugins/acfml/classes/class-wpml-acf-attachments.php.
- Найдите строку 28.
- Замените:
foreach ( $attachments as $key => $attachment_id ) { $translated_attachments[ $key ] = apply_filters( 'wpml_object_id', $attachment_id, 'attachment', true ); - На:
foreach ( $attachments as $key => $attachment_id ) { if (is_int($attachment_id)) { $translated_attachments[ $key ] = apply_filters( 'wpml_object_id', $attachment_id, 'attachment', true ); }