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
Este problema foi corrigido em WPML Translation Management 2.10.4. Atualizar resolve isso no seu site, então você só precisa desta solução alternativa se ainda não puder atualizar.
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 );
return wpml_tm_load_job_factory()->get_translation_job( $job_id, $include_non_translatable_elements, $revisions );