PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
wpml-string-translation
/
classes
/
slug-translation
<?php class WPML_ST_Slug { /** @var int $original_id */ private $original_id; /** @var string $original_lang */ private $original_lang; /** @var string $original_value */ private $original_value; /** @var array $langs */ private $langs = array(); /** @param stdClass $data */ public function set_lang_data( stdClass $data ) { if ( isset( $data->language ) ) { $this->langs[ $data->language ] = $data; } // Case of original string language if ( isset( $data->id ) ) { $this->original_id = $data->id; $this->original_lang = $data->language; $this->original_value = $data->value; } } /** @return string */ public function get_original_lang() { return $this->original_lang; } /** @return string */ public function get_original_value() { return $this->original_value; } /** @return int */ public function get_original_id() { return (int) $this->original_id; } /** * @param string $lang * * @return string */ public function get_value( $lang ) { if ( isset( $this->langs[ $lang ]->value ) ) { return $this->langs[ $lang ]->value; } return $this->get_original_value(); } /** * @param string $lang * * @return int */ public function get_status( $lang ) { if ( isset( $this->langs[ $lang ]->status ) ) { return (int) $this->langs[ $lang ]->status; } return ICL_TM_NOT_TRANSLATED; } /** * @param string $lang * * @return bool */ public function is_translation_complete( $lang ) { return ICL_TM_COMPLETE === $this->get_status( $lang ); } /** @return string|null */ public function get_context() { if ( isset( $this->langs[ $this->original_lang ]->context ) ) { return $this->langs[ $this->original_lang ]->context; } return null; } /** @return string|null */ public function get_name() { if ( isset( $this->langs[ $this->original_lang ]->name ) ) { return $this->langs[ $this->original_lang ]->name; } return null; } /** @return array */ public function get_language_codes() { return array_keys( $this->langs ); } /** * This method is used as a filter which returns the initial `$slug_value` * if no better value was found. * * @param string $slug_value * @param string $lang * * @return string */ public function filter_value( $slug_value, $lang ) { if ( $this->original_lang === $lang ) { return $this->original_value; } elseif ( in_array( $lang, $this->get_language_codes(), true ) && $this->is_translation_complete( $lang ) ) { return $this->get_value( $lang ); } return $slug_value; } }
[+]
RewriteRules
[-] CheckRedirect.php
[edit]
[-] wpml-st-slug-translation-settings-factory.php
[edit]
[-] wpml-st-slug-translation-ui-save.php
[edit]
[-] class-wpml-slug-translation-records.php
[edit]
[+]
post
[-] iwpml-st-rewrite-rule-filter.php
[edit]
[-] class-wpml-rewrite-rule-filter.php
[edit]
[+]
custom-types
[+]
taxonomy
[-] wpml-st-slug-translation-strings-sync.php
[edit]
[-] wpml-st-slug-translation-settings.php
[edit]
[-] wpml-slug-translation-records-factory.php
[edit]
[-] wpml-st-slug-translation-api.php
[edit]
[+]
new-match-finder
[-] class-wpml-slug-translation.php
[edit]
[-] wpml-st-slug-translation-ui-factory.php
[edit]
[-] wpml-rewrite-rule-filter-factory.php
[edit]
[-] wpml-st-element-slug-translation-ui-model.php
[edit]
[-] wpml-st-element-slug-translation-ui.php
[edit]
[+]
..
[-] wpml-st-slug.php
[edit]
[-] wpml-slug-translation-factory.php
[edit]