- 状态
- 已解决
- 报告针对
- Advanced Custom Fields Multilingual 2.1.1
- 解决于
- Advanced Custom Fields Multilingual 2.1.2
- 相关插件/主题
- Advanced Custom Fields (ACF)
- 主题标签
- Compatibility
问题概述
如果您正在使用 Advanced Custom Fields 插件,当开启“ACFML Synchronise translations”功能并保存包含中继器字段的文章时,您可能会在使用 PHP 8 的环境中遇到致命错误,或在 PHP 7 中遇到警告。
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 );