ACFML – WordPressでの多言語ACFおよびACF Proカスタムフィールド
サイト上のすべてのカスタムフィールドを多言語化します。ACFMLは、Advanced Custom FieldsおよびACF Proに多言語サポートを追加します。すべてのフィールドタイプ、フィールドグループ、オプションページに加え、フィールドラベル自体もサポートします。Repeater、Flexible Content、Clone、条件判定、およびPHPで登録されたローカルフィールドを使用するACF Proのセットアップにもすべて対応しています。Multilingual CMSおよびMultilingual Agencyに含まれています。
すべてのACFフィールドタイプの多言語化
ACFを使用してサイトを構築する場合、ACFMLはACFおよびACF Proのカタログにあるすべてのフィールドタイプをサポートします:
- TextおよびWysiwygフィールドは言語ごとに翻訳されます。
- RepeaterおよびFlexible Contentの行は、言語間で同期された状態を保ちます。
- Image、File、およびGalleryフィールドは、言語ごとにローカライズされたアセットに切り替えることができます。
- Link、Relationship、およびPost Objectフィールドは、言語間で正しく関連付けられた状態を保ちます。
- Date Picker、Color Picker、Map、およびその他のインタラクティブなフィールドは、言語ごとに正しく動作します。
ACFを通じて登録したカスタム投稿タイプ、タクソノミー、およびオプションページも翻訳されます(ラベルを含む)。ACFMLを使用すれば、ACFで構築したサイトの一部ではなく、サイト全体を多言語化できます。
言語間で同じにする項目と異なる項目の選択
ACFフィールドグループの翻訳の動作は一律ではありません。サイトのOur Team(チーム紹介)ページでは、すべての言語で同じチームメンバーを表示します:名前と経歴を翻訳し、構造はそのまま維持します。Events(イベント)ページでは、対象読者によって異なるイベントを表示します:言語ごとに完全に異なるイベントを表示します。Product Specs(製品仕様)ページでは両方が混在します:説明を翻訳し、SKUと価格は同じに保ちます。


ACFMLは、フィールドグループごとにこれら3つのすべてに対応します:言語間で同じフィールド、言語間で異なるフィールド、および混在した設定用のエキスパートモードです。各フィールドグループの目的に合ったモードを選択するだけで、ACFMLが翻訳の動作を自動的に設定します。
フィールドごとの翻訳制御
フィールドグループ内では、すべてのフィールドに独自の翻訳設定が適用されます:
- 翻訳。フィールドの値は言語ごとに翻訳されます。
- コピー。フィールドの値は言語間で同期された状態を保ちます。一度編集すると、すべての言語に反映されます。
- 一度だけコピー。フィールドの値は新しい翻訳のベースとして使用され、その後は各言語バージョンを個別に編集できます。
- 翻訳しない。フィールドは完全に無視されます(例:内部の管理画面専用フィールド)。
フィールドタイプごとの適切なデフォルト設定が最初から用意されています:TextおよびWysiwygフィールドのデフォルトは翻訳で、Image、Link、Numberなどの構造化フィールドのデフォルトはコピーです。プリセットの完全なリファレンスについては、ACFカスタムフィールドの翻訳方法をご覧ください。
言語間で同期されるRepeaterおよびFlexible Contentの行
RepeaterおよびFlexible Contentフィールドは、他のツールを使用した多言語ACFのセットアップで頻繁に問題が発生する箇所です。行の同期が外れ、レイアウトが分岐し、翻訳者が認識できないコンテンツが表示されることがあります。ACFMLは、デフォルトで言語間で行の構造を同期させます。翻訳者には同じ行が同じ順序で表示され、翻訳可能な各サブフィールドが適切な位置に配置されます。言語ごとに異なる構造が必要な場合(例:言語ごとに異なるイベントリスト)、一度だけコピーの設定を使用することで対応できます。
ローカルフィールド(PHPで登録)にも同じ翻訳の動作を適用
多くの本番サイトでは、ACFの管理画面UIではなくPHPでACFフィールドを登録しています(ポータビリティ、バージョン管理、またはテーマに同梱された設定のため)。ACFML 2.2.0(2026年2月リリース)では、ローカルフィールドを完全にサポートしています。フィールドグループの定義でwpml_cf_preferencesキーを使用して各フィールドの翻訳設定を指定し、ACF > ツールからWPMLに同期すると、フィールドグループの宣言内容が管理画面に反映されます。サイト間でエクスポートおよびインポートを行う際、ACFのローカルJSONファイルにはこれらの設定も含まれます。詳細な手順については、ハウツーページのPHPまたはJSONで登録されたフィールドの設定をご覧ください。
エッジケース向けのデベロッパーフック
カスタムのフィールド翻訳ロジック(特定のフィールドを除外する、フィールドタイプのデフォルト設定をグローバルに上書きする、翻訳者から注釈を隠すなど)を持つサイト向けに、ACFMLは2つのフィルター(acfml_should_translate_acf_entity、acfml_field_group_mode_field_translation_preference)と4つの定数(ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS、ACFML_HIDE_FIELD_ANNOTATIONS、ACFML_REPEATER_SYNC_DEFAULT、ACFML_SCAN_LOCAL_FIELDS)を提供しています。コード例を含む完全なリファレンスについては、ACFMLフックおよび定数リファレンスをご覧ください。
ACFチームとの共同開発および保守
WPMLとACFチームは継続的な互換性のために緊密に連携しており、これは共同のACF互換性ページで確認できます。ACFまたはACF Proがリリースされると、ACFMLもそれに追従します。新しい翻訳の動作のためにACFMLがACF側のサポートを必要とする場合、リバースエンジニアリングではなく、共同で統合を構築します。
WPMLに含まれるACFML
ACFMLはMultilingual CMSおよびWPML Agencyに同梱されています。別途購入やサイトごとの料金は不要です。一度WPMLを購入すれば、アカウントがカバーするすべてのACFサイトを多言語化できます。すでにWPMLをお持ちの場合は、WPMLダウンロードページからACFMLを有効化してください。