- ステータス
- 解決済み
- 報告対象
- Advanced Custom Fields Multilingual 1.9.1
- 解決されたバージョン
- ACFML 1.9.3
- 関連するプラグイン/テーマ
- Advanced Custom Fields (ACF)
問題の概要
Advanced Custom Fieldsプラグインを使用すると、投稿を追加または編集するためのフォームを表示できます。次のようなコードを使用して特定の投稿を作成するためにカスタマイズすることもできます:
$id = 12; acf_form(array( 'post_id' => 'new_post', 'post_title' => true, 'field_groups' => array( $id ) , 'new_post' => array( 'post_type' => 'post', 'post_status' => 'publish' ), 'submit_value' => 'add post' ));
ただし、このフォームを使用してセカンダリ言語でコンテンツを送信することはできません。
回避策
セカンダリ言語でこのフォームを機能させるには、コードを少し変更してwpml_object_idフィルターを使用する必要があります。
$id = 12; $transid = apply_filters( 'wpml_object_id', $id , 'acf-field-group' ); acf_form(array( 'post_id' => 'new_post', 'post_title' => true, 'field_groups' => array( $transid ) , 'new_post' => array( 'post_type' => 'post', 'post_status' => 'publish' ), 'submit_value' => 'add post' ));
wpml_object_idフィルターはフィールドグループIDを取得し、各言語に翻訳します。これにより、フォームからコンテンツを正常に送信できるようになります。