pb_update = $pb_update; $this->element_factory = $element_factory; $this->node_iterator = $node_iterator; $this->media_usage = $media_usage; } /** * @param WP_Post $post */ public function translate( $post ) { $element = $this->element_factory->create_post( $post->ID ); $source_element = $element->get_source_element(); if ( ! $source_element ) { return; } $lang = $element->get_language_code(); $source_lang = $source_element->get_language_code(); $original_post_id = $source_element->get_id(); $converted_data = $this->pb_update->get_converted_data( $post->ID ); if ( ! $converted_data ) { return; } $converted_data = $this->node_iterator->translate( $converted_data, $lang, $source_lang ); $this->pb_update->save( $post->ID, $original_post_id, $converted_data ); if ( $this->media_usage ) { $this->media_usage->update( $original_post_id ); } } }