お世話になっております。
駆け出しのwebデザイナーです。
ただいま、wordpressのマルチサイトで多言語サイトを制作しております。
今回は、カスタムフィールドの命名に関しましてお聞きさせてください。
なお、カスタムフィールドはACF Proを使用しております。
またマルチサイト はサブディレクトリ型です。
お聞きしたいこと
マルチサイト の子サイトで共通のテーマを使用した際に、ACFのフィールド名は共通でも問題ないのでしょうか。
(例)
フィールド名「test」の「テスト」という値を出力したい際に、
日本語では「テスト」、英語では「TEST」と値を設定したとします。
この「テスト」を出力したい際に、子テーマ共通で「echo get_field('tets')
」としていいのでしょうか。
それともサイトごとの何か分岐判定をしたほうがいいのでしょうか。
分岐判定1
日本語サイトが domain.jp/jp/
英語サイトが domain.jp/en/
とした際に、言語スラッグを判定の要素とする。
日本語サイト フィールド名「test」→「jp_test」
英語サイト フィールド名「test」→「en_test」として、
「echo get_field($lang.'_tets')
」のように、言語スラッグを取得(取得方法は省略)・変数にして分岐を行う。
しかし、日本語サイトを基準にWP標準のエクスポート・インポートを使用して、英語サイトにカスタムフィールドを複製際には、結局、全てのフィールド名を「jp」→「en」に書き換えなければ出力できません。
フィールド名がかなりの数あるため、この手間は避けたく思います。
分岐判定2
出力は共通でecho get_field('tets')
する代わりに
if (blog_id === 日本語サイト) {echo get_field('tets')}
のように分岐をする。
しかし、出力のたびに分岐条件を書くのも手間なので避けたく思います。
まとめ
「お聞きしたいこと」の最後にも書きましたが、何も分岐を考えずに出力しても問題ありませんでしょうか。
表現が伝わりにくい箇所があるかと思いますが、何卒よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/04 11:23