PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / inc / template-classes / setup / class-wcml-setup-store-pages-ui.php
woocommerce-multilingual / inc / template-classes / setup Last commit date
class-wcml-setup-attributes-ui.php 4 weeks ago class-wcml-setup-footer.php 4 weeks ago class-wcml-setup-header.php 4 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 4 weeks ago class-wcml-setup-step.php 4 weeks ago class-wcml-setup-store-pages-ui.php 4 weeks ago
class-wcml-setup-store-pages-ui.php
90 lines
1 <?php
2
3 class WCML_Setup_Store_Pages_UI extends WCML_Setup_Step {
4
5 const SLUG = 'store-pages';
6
7 private $woocommerce_wpml;
8
9 private $sitepress;
10
11 public function __construct( $woocommerce_wpml, $sitepress, $next_step_url, $previous_step_url ) {
12 parent::__construct( $next_step_url, $previous_step_url );
13
14 $this->woocommerce_wpml = $woocommerce_wpml;
15 $this->sitepress = $sitepress;
16 }
17
18 public function get_model() {
19 $WCML_Status_Store_Pages_UI = new WCML_Status_Store_Pages_UI( $this->sitepress, $this->woocommerce_wpml );
20 $store_pages_view = $WCML_Status_Store_Pages_UI->get_view();
21
22 $store_pages_view = preg_replace( '@<form [^>]+>@', '', $store_pages_view );
23 $store_pages_view = preg_replace( '@</form>@', '', $store_pages_view );
24
25 if ( 'non_exist' === $this->woocommerce_wpml->store->get_missing_store_pages() ) {
26
27 $store_pages_view = preg_replace(
28 '@<i class="otgs-ico-warning"></i>[^<]*@',
29 __( 'Click continue to create missing WooCommerce pages translate your store pages into the following languages:', 'woocommerce-multilingual' ),
30 $store_pages_view
31 );
32 $store_pages_view = preg_replace(
33 '@<a [^>]+>[^<]+</a>@',
34 $this->get_secondary_languages(),
35 $store_pages_view
36 );
37
38 $store_pages_view .= '<input type="hidden" name="install_missing_pages" value="1">';
39
40 } else {
41
42 $store_pages_view = preg_replace(
43 '@<i class="otgs-ico-warning"></i>[^<]*@',
44 __( 'Click continue to translate your store pages into the following languages:', 'woocommerce-multilingual' ),
45 $store_pages_view
46 );
47 $store_pages_view = preg_replace(
48 '@<button [^>]+>[^<]+</button>@',
49 '<input type="hidden" name="create_pages" value="1">',
50 $store_pages_view
51 );
52
53 }
54
55 $store_pages_view .= '<input type="hidden" name="next_step_url" value="' . esc_url( $this->next_step_url ) . '">';
56
57 return [
58 'strings' => [
59 'step_id' => 'store_pages_step',
60 'heading' => __( "Create store pages in all your site's languages", 'woocommerce-multilingual' ),
61 'description' => __( 'WPML automatically generates translated versions of default WooCommerce pages, such as Shop, Account, Checkout, and Cart.', 'woocommerce-multilingual' ),
62 'continue' => __( 'Continue', 'woocommerce-multilingual' ),
63 'go_back' => __( 'Go back', 'woocommerce-multilingual' ),
64 ],
65 'store_pages' => $store_pages_view,
66 'continue_url' => $this->next_step_url,
67 'go_back_url' => $this->previous_step_url,
68 ];
69 }
70
71 public function get_template() {
72 return '/setup/store-pages.twig';
73 }
74
75 private function get_secondary_languages() {
76 $default_language = $this->sitepress->get_default_language();
77 $languages = $this->sitepress->get_active_languages();
78 unset( $languages[ $default_language ] );
79
80 $secondary_languages = [];
81 foreach ( $languages as $language ) {
82 $secondary_languages[] = '<li><span class="wpml-title-flag">'
83 . '<img src="' . $this->sitepress->get_flag_url( $language['code'] ) . '" alt="' . esc_attr( $language['english_name'] ) . '">'
84 . '</span> ' . ucfirst( $language['display_name'] ) . '</li>';
85 }
86
87 return PHP_EOL . '<ul class="wcml-lang-list">' . implode( PHP_EOL, $secondary_languages ) . '</ul>' . PHP_EOL;
88 }
89 }
90