public function get_post_trid($args) { list($blog_id, $username, $password, $element_id) = $args; if (!$this->sitepress->get_wp_api()->get_wp_xmlrpc_server()->login($username, $password)) { return $this->sitepress->get_wp_api()->get_wp_xmlrpc_server()->error; } $post_element = new WPML_Post_Element($element_id, $this->sitepress); return $post_element->get_trid(); }
/** * @param string $link * @param int $post * @param WPML_Post_Element $post_element * * @return bool|false|mixed|string */ public function get_translated_permalink($link, $post, $post_element) { $code = $this->get_permalink_filter_lang($post); $post_id = $post_element->get_element_id(); $current_language = $this->sitepress->get_current_language(); if (!is_admin() && $this->sitepress->get_setting('auto_adjust_ids') && $post_element->get_language_code() !== $this->sitepress->get_current_language() && ($post_id = $this->post_translation->element_id_in($post_id, $current_language))) { $link = get_permalink($post_id); } else { $link = $this->url_converter->convert_url($link, $code); } if ($this->sitepress->get_wp_api()->is_feed()) { $link = str_replace('&lang=', '&lang=', $link); } return $link; }
/** * @param WPML_Post_Element $post_element * * @return false|string */ private function get_canonical_of_duplicate($post_element) { $source_element = $post_element->get_source_element(); if ($source_element) { $source_element_id = $source_element->get_id(); $source_language_code = $source_element->get_language_code(); $current_language = $this->sitepress->get_current_language(); $this->sitepress->switch_lang($source_language_code); $new_link = get_permalink($source_element_id); $this->sitepress->switch_lang($current_language); } else { $new_link = get_permalink($post_element->get_id()); } return $new_link; }