Visão geral do problema
O seguinte erro fatal pode ocorrer ao usar o plugin Advanced Custom Fields. O erro é observado especificamente com o PHP 8 ou superior:
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
Solução alternativa
Este problema foi corrigido em Advanced Custom Fields Multilingual 2.1.0. Atualizar resolve isso no seu site, então você só precisa desta solução alternativa se ainda não puder atualizar.
Certifique-se de ter um backup completo do seu site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/acfml/classes/class-wpml-acf-attachments.php.
- Localize a linha 28.
- Substitua:
foreach ( $attachments as $key => $attachment_id ) { $translated_attachments[ $key ] = apply_filters( 'wpml_object_id', $attachment_id, 'attachment', true ); - Por:
foreach ( $attachments as $key => $attachment_id ) { if (is_int($attachment_id)) { $translated_attachments[ $key ] = apply_filters( 'wpml_object_id', $attachment_id, 'attachment', true ); }