WPML
Status
Resolvido
Relatado para
Advanced Custom Fields Multilingual 1.9.1
Resolvido em
ACFML 1.9.3
Plugin/tema relacionado
Advanced Custom Fields (ACF)

Visão geral do problema

O plugin Advanced Custom Fields permite que você exiba formulários para adicionar ou editar posts. Você pode até mesmo personalizá-lo para criar um post específico usando um código como este:

		$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'

		));

No entanto, você não pode usar este formulário para enviar conteúdo em idiomas secundários.

Solução alternativa

Para que este formulário funcione em idiomas secundários, você precisará adaptar um pouco o seu código e usar o nosso filtro 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'
		));

O filtro wpml_object_id obtém o ID do grupo de campos e o traduz para cada idioma. Então, o formulário consegue enviar seu conteúdo com sucesso.

Todos os problemas conhecidos →