PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 / classes / Block / Convert / ConverterProvider.php
woocommerce-multilingual / classes / Block / Convert Last commit date
Converter 5 years ago ConverterProvider.php 1 month ago Hooks.php 1 month ago
ConverterProvider.php
137 lines
1 <?php
2
3 namespace WCML\Block\Convert;
4
5 use WCML\Block\Convert\Converter\ProductsByAttributes;
6 use WPML\PB\Gutenberg\ConvertIdsInBlock\Base;
7 use WPML\PB\Gutenberg\ConvertIdsInBlock\Composite;
8 use WPML\PB\Gutenberg\ConvertIdsInBlock\NullConvert;
9 use WPML\PB\Gutenberg\ConvertIdsInBlock\BlockAttributes;
10 use WPML\PB\Gutenberg\ConvertIdsInBlock\TagAttributes;
11
12 class ConverterProvider {
13
14 public static function get( $blockName ) {
15 switch ( $blockName ) {
16 case 'woocommerce/product-category':
17 $converter = new BlockAttributes(
18 [
19 [
20 'name' => 'categories',
21 'slug' => 'product_cat',
22 'type' => 'taxonomy',
23 ],
24 ]
25 );
26 break;
27
28 case 'woocommerce/featured-category':
29 $converter = new BlockAttributes(
30 [
31 [
32 'name' => 'categoryId',
33 'slug' => 'product_cat',
34 'type' => 'taxonomy',
35 ],
36 ]
37 );
38 break;
39
40 case 'woocommerce/featured-product':
41 $converter = new BlockAttributes(
42 [
43 [
44 'name' => 'productId',
45 'slug' => 'product',
46 'type' => 'post'
47 ],
48 ]
49 );
50 break;
51
52 case 'woocommerce/handpicked-products':
53 $converter = new BlockAttributes(
54 [
55 [
56 'name' => 'products',
57 'slug' => 'product',
58 'type' => 'post',
59 ],
60 ]
61 );
62 break;
63
64 case 'woocommerce/product-tag':
65 $converter = new BlockAttributes(
66 [
67 [
68 'name' => 'tags',
69 'slug' => 'product_tag',
70 'type' => 'taxonomy',
71 ],
72 ]
73 );
74 break;
75
76 case 'woocommerce/reviews-by-product':
77 $converter = new Composite(
78 [
79 new BlockAttributes(
80 [
81 [
82 'name' => 'productId',
83 'slug' => 'product',
84 'type' => 'post',
85 ],
86 ]
87 ),
88 new TagAttributes(
89 [
90 [
91 'xpath' => '//*[contains(@class, "wp-block-woocommerce-reviews-by-product")]/@data-product-id',
92 'slug' => 'product',
93 'type' => 'post',
94 ],
95 ]
96 ),
97 ]
98 );
99 break;
100
101 case 'woocommerce/reviews-by-category':
102 $converter = new Composite(
103 [
104 new BlockAttributes(
105 [
106 [
107 'name' => 'categoryIds',
108 'slug' => 'product_cat',
109 'type' => 'taxonomy',
110 ],
111 ]
112 ),
113 new TagAttributes(
114 [
115 [
116 'xpath' => '//*[contains(@class, "wp-block-woocommerce-reviews-by-category")]/@data-category-ids',
117 'slug' => 'product_cat',
118 'type' => 'taxonomy',
119 ],
120 ]
121 ),
122 ]
123 );
124 break;
125
126 case 'woocommerce/products-by-attribute':
127 $converter = new ProductsByAttributes();
128 break;
129
130 default:
131 $converter = new Base();
132 }
133
134 return $converter;
135 }
136 }
137