WPML
Status
Resolvido
Relatado para
WPML Translation Management 2.10.3
Resolvido em
WPML Translation Management 2.10.4

Visão geral do problema

Se você estiver editando um post pelo front-end e esse post tiver sido duplicado para outros idiomas programaticamente, é possível receber um erro como este:

PHP Fatal error:  Uncaught Error: Call to a member function get_translation_job() on null in wp-contentpluginswpml-translation-managementinctranslation-jobshelperswpml-translation-job-helper-with-api.class.php:15

Stack trace:

#0 wp-contentpluginswpml-translation-managementinctranslation-jobshelperswpml-update-post-translation-data-action.class.php(12): WPML_Translation_Job_Helper_With_API->get_translation_job(NULL)

#1 wp-contentpluginswpml-translation-managementinctranslation-jobshelperswpml-update-translation-data-action.class.php(84): WPML_TM_Update_Post_Translation_Data_Action->populate_prev_translation(1020, Array)

#2 wp-contentpluginswpml-translation-managementinctranslation-jobshelperswpml-update-translation-data-action.class.php(33): WPML_TM_Update_Translation_Data_Action->get_translated_field_values(1020, Array)

#3 wp-contentpluginswpml-translation-managementincactionswpml-tm-action-helper.class.p in wp-contentpluginswpml-translation-managementinctranslation-jobshelperswpml-translation-job-helper-with-api.class.php on line 15

Solução alternativa

Certifique-se de que sabe o que está fazendo e de ter criado um backup primeiro!

Via cliente FTP ou pelo painel de hospedagem, tente editar o arquivo em /wp-content/plugins/wpml-translation-management/inc/translation-jobs/helpers/wpml-translation-job-helper-with-api.class.php
Substitua estas duas linhas:

		global $wpml_translation_job_factory;

		return $wpml_translation_job_factory->get_translation_job( $job_id, $include_non_translatable_elements, $revisions );

por esta única linha:
		return wpml_tm_load_job_factory()->get_translation_job( $job_id, $include_non_translatable_elements, $revisions );

Todos os problemas conhecidos →