ACF | Advanced Custom Fields Plugin for WordPress
Customise WordPress with powerful, professional and intuitive fields
https://www.advancedcustomfields.com/
フロントエンジニアの韓と申します。
現在某大手商社様のコーポレートサイトを構築しています。今回は構築中の案件で気づいたことを共有したいと思います。
・wordpress案件
・多言語サイト(日・英・中)
・お客様が更新しやすいカスタムフィールドで構築する
・ACFカスタムフィールド
「Advanced Custom Fields」は、WordPressのカスタムフィールドの仕組みを拡張して、さまざまな形式の入力項目を追加できる様にするためのプラグインです。
・WPML
主な特徴
WPMLは1つのWordPressのインストールで多言語ウェブサイトを簡単に運営できるようにします。 サイトの言語を選択してコンテンツの翻訳を開始します。
WPMLは40以上の言語に対応します。 WPMLの言語エディターを使用して、自分の言語バリエーションを追加することもできます。(カナダフランス語やメキシコスペイン語など)
投稿やページ、カスタム投稿タイプ、カスタムフィールド、ウィジェット、メニュー、画像、タクゾノミー、メディア、サイト管理のテキストも翻訳できます。
訪問ユーザーが表示言語を自由に切り替えることができます。
if( function_exists('acf_add_options_page') ) {
$option_page = acf_add_options_page(
[
'page_title' => 'TOP PAGE', // Page Title
'menu_title' => 'TOP PAGE', // Menu Title
'menu_slug' => 'top', // Slug
'capability' => 'edit_posts',
'redirect' => false,
]
);
}
カスタムフィールドの位置を選択時時には下記のように、オプションページを選択して、作ったPage Titleを選択します。
ACFカスタムフィールドのオプションページと、多言語のプラグインWPMLと組み合わせた時に上手くできませんでした‥
WPMLは自動翻訳と手動翻訳があり、今回の案件は手動翻訳になります。
トップページはお客様が更新できるようにカスタムフィールドのオプションページで構築しました。
多言語のプラグインを入れて、英語の管理画面でトップページを編集したところ
英語のトップページではなく、日本語版のトップページに反映されてしまいました‥なんで???
色々と調べても、オプションページとWPMLの日本語の記事があまりなく‥
英語と中国語全部の記事を調べてみました。
どうやら英語版を編集したところ、WMPLは連動して日本語版は自動更新している様子。
様々なことを試した結果、やっと解決しました!!
ACFカスタムフィールドのオプションページは別のカスタムフィールドと違い、オプションページを作る時に「自動翻訳は選択しない事」が正解でした。
最近WPMLとACFのカスタムフィールドのバージョンアップしたところ、下記の項目が追加されました。
オプションページ設定する時にDon't translateを選択することが必要でした!
「オプションページは自動翻訳しない」こちらを選択したところ、無事に多言語のオプションページができました。
コムデの案件はとにかく多彩!大手企業の案件にも多数あり求められる技術レベルも日に日に高まっています。
最新の技術習得や、スキルアップを目指したい方が開発を楽しめる環境をご準備しています!