- ステータス
- 解決済み
- 報告対象
- 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 );