- 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 );