- Статус
- Решено
- Заявлено для
- Advanced Custom Fields Multilingual 2.1.1
- Решено в
- Advanced Custom Fields Multilingual 2.1.2
- Связанный плагин/тема
- Advanced Custom Fields (ACF)
- Теги темы
- Compatibility
Обзор проблемы
Если Вы используете плагин Advanced Custom Fields, Вы можете столкнуться с фатальной ошибкой в средах с PHP 8 или с предупреждениями в PHP 7 при сохранении записей, содержащих поля повторителя, если включена функция «ACFML Synchronise translations».
Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, WP_Post given in .../wp-content/plugins/acfml/classes/Helper/HashCalculator.php on line 65
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
Вариант 1
- Отключите параметр Сохранять одинаковый порядок для повторяющихся и гибких подполей как в языке по умолчанию и обновите запись.
Если это невозможно, то:
Вариант 2
- Откройте файл …/wp-content/plugins/acfml/classes/Helper/HashCalculator.php.
- Найдите строку 25.
- Замените:
return self::hashArray( $value );
- На:
return self::hashArray( (array) $value );