WPMLとACFを使ってwordpress多言語APIサーバを構築する

環境
wordpress5.2.4

使用プラグイン
ACF to REST API(作成者: Aires Gonçalves)
Advanced Custom Fields Multilingual(作成者: OnTheGoSystems)
Advanced Custom Fields PRO(作成者: Elliot Condon)
WPML Multilingual CMS(作成者: OnTheGoSystems)
WPML String Translation(作成者: OnTheGoSystems)
WPML Translation Management(作成者: OnTheGoSystems)

現象
・WPMLの多言語機能をRESTAPIで使用するとacfの値が空で戻ってくる
->既知の不具合(https://wpml.org/forums/topic/acf-flexible-field-translations-not-in-rest-api/

解決
以下の手順を踏むことにより解決
(1)通常と同様ACFに値を入力し投稿を「公開」する

(2)WPMLを利用して翻訳をする際に「複製」をチェックする
ACFの公式ページ参照(https://www.advancedcustomfields.com/resources/multilingual-custom-fields/


(3)WPMLのAdvanced Translation Editorを使用して翻訳をする
自動で翻訳してくれるのが便利すぎる〜!

焼き飯は「fried rice」なんだね。

(4)あとはおもむろにurlを叩くだけじゃ。

デフォルトが日本語なんで何も引数を付けていない場合は日本語が返る。

?lang=enで英語が返る

GETの引数ではうまく動かないからパーマリンクをURLに変えろとかいう情報もあった。
それは少なくとも我々の事例には関係なかったようです。
ただ、何回かWPMLエディタを開いていると戻ってこなくなるんよね〜。謎です。

最後に宣伝。

アクセス可能なサイトを仮で置いておきます。 https://wpml.tegos.co.jp/wp-json/acf/v3/posts


弊社はこの半年間wordpressをいじり倒して来ました。
既存のwebシステムで行っている大抵のことはwordpressでできると確信するに至りました。
「早い!安い!上手い!」をモットーに頑張っております。
お仕事の依頼は「お問い合わせ」からどうぞ!

以上。

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です