- ステータス
- 未解決
- 関連するプラグイン/テーマ
- Advanced Custom Fields
- トピックタグ
- Compatibility
問題の概要
ACF – Advanced Custom FieldsをACFMLプラグインと一緒に使用している場合、Cloneフィールドが一度だけコピーに設定されていると、フロントエンドで元の言語のフィールド値を取得できません。この問題は、Cloneフィールドを含むフィールドグループが言語間で異なるフィールドに設定されている場合、またはエキスパートモードでフィールドが手動で一度だけコピーに設定されている場合に発生します。
回避策
続行する前に、必ずお使いのサイトの完全なサイトバックアップを作成してください。
- …wp-content/plugins/acfml/classes/class-wpml-acf-custom-fields-sync.phpファイルを開きます。
- 42行目を探します。
- 変更前:
public function clean_empty_values_for_copy_once_field( $value, $post_id, $field ) { if ( '' === $value && ! $this->value_has_been_emptied( $field ) && isset( $field['wpml_cf_preferences'] ) && WPML_COPY_ONCE_CUSTOM_FIELD === $field['wpml_cf_preferences'] && ! $this->isFieldType( $field, 'group' ) ) { $value = null; } return $value; } - 変更後:
// WPML Workaround for compsupp-7767 public function clean_empty_values_for_copy_once_field( $value, $post_id, $field ) { if ( '' === $value && ! $this->value_has_been_emptied( $field ) && isset( $field['wpml_cf_preferences'] ) && WPML_COPY_ONCE_CUSTOM_FIELD === $field['wpml_cf_preferences'] && ! $this->isFieldType( $field, 'group' ) && ! $this->isFieldType( $field, 'clone' ) ) { $value = null; } return $value; }