class-wcml-setup-attributes-ui.php
3 weeks ago
class-wcml-setup-footer.php
3 weeks ago
class-wcml-setup-header.php
3 weeks ago
class-wcml-setup-introduction-ui.php
1 year ago
class-wcml-setup-multi-currency-ui.php
10 months ago
class-wcml-setup-notice.php
3 weeks ago
class-wcml-setup-step.php
3 weeks ago
class-wcml-setup-store-pages-ui.php
3 weeks ago
class-wcml-setup-attributes-ui.php
59 lines
| 1 | <?php |
| 2 | |
| 3 | class WCML_Setup_Attributes_UI extends WCML_Setup_Step { |
| 4 | |
| 5 | const SLUG = 'attributes'; |
| 6 | |
| 7 | private $woocommerce_wpml; |
| 8 | |
| 9 | public function __construct( $woocommerce_wpml, $next_step_url, $previous_step_url ) { |
| 10 | parent::__construct( $next_step_url, $previous_step_url ); |
| 11 | |
| 12 | $this->woocommerce_wpml = $woocommerce_wpml; |
| 13 | } |
| 14 | |
| 15 | public function get_model() { |
| 16 | |
| 17 | $wc_attributes = wc_get_attribute_taxonomies(); |
| 18 | $wc_attributes_translated = $this->woocommerce_wpml->attributes->get_translatable_attributes(); |
| 19 | $attribute_names = []; |
| 20 | foreach ( $wc_attributes_translated as $attribute ) { |
| 21 | $attribute_names[] = $attribute->attribute_name; |
| 22 | } |
| 23 | |
| 24 | $attributes = []; |
| 25 | foreach ( $wc_attributes as $attribute ) { |
| 26 | $attributes[] = [ |
| 27 | 'name' => $attribute->attribute_name, |
| 28 | 'label' => $attribute->attribute_label, |
| 29 | 'translated' => in_array( $attribute->attribute_name, $attribute_names, true ), |
| 30 | ]; |
| 31 | } |
| 32 | |
| 33 | return [ |
| 34 | 'strings' => [ |
| 35 | 'step_id' => 'attributes_step', |
| 36 | 'heading' => __( 'Which product attributes should be translatable?', 'woocommerce-multilingual' ), |
| 37 | 'description_1' => sprintf( |
| 38 | /* translators: %1$s and %2$s are opening and closing HTML link tags */ |
| 39 | esc_html__( 'WPML allows you to %1$stranslate your product attributes%2$s. Some attributes, like the ones based on numbers and codes, can be universal and might not need to be translated.', 'woocommerce-multilingual' ), |
| 40 | '<a target="blank" class="wpml-external-link" rel="noopener" href="' . WCML_Tracking_Link::getWcmlMainDoc( '#taxonomies', [ 'utm_term' => WCML_Tracking_Link::UTM_TERM_WIZARD ] ) . '">', |
| 41 | '</a>' |
| 42 | ), |
| 43 | 'description_2' => __( 'Select which attributes in your store should be translatable:', 'woocommerce-multilingual' ), |
| 44 | 'no_attributes' => __( 'There are no attributes defined', 'woocommerce-multilingual' ), |
| 45 | 'continue' => __( 'Continue', 'woocommerce-multilingual' ), |
| 46 | 'go_back' => __( 'Go back', 'woocommerce-multilingual' ), |
| 47 | ], |
| 48 | 'attributes' => $attributes, |
| 49 | 'continue_url' => $this->next_step_url, |
| 50 | 'go_back_url' => $this->previous_step_url, |
| 51 | ]; |
| 52 | |
| 53 | } |
| 54 | |
| 55 | public function get_template() { |
| 56 | return '/setup/attributes.twig'; |
| 57 | } |
| 58 | } |
| 59 |