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 / compatibility / WcCompositeProducts / JobHooks.php
woocommerce-multilingual / compatibility / WcCompositeProducts Last commit date
CompositedProductHooks.php 3 weeks ago Factory.php 3 weeks ago JobHooks.php 3 weeks ago MulticurrencyHooks.php 3 weeks ago class-wcml-composite-products.php 3 weeks ago
JobHooks.php
48 lines
1 <?php
2
3 namespace WCML\Compatibility\WcCompositeProducts;
4
5 use WCML\TranslationJob\Hooks;
6 use WPML\FP\Str;
7 use WPML\LIB\WP\Hooks as WPHooks;
8
9 use function WPML\FP\spreadArgs;
10
11 class JobHooks {
12
13 public function add_hooks() {
14 WPHooks::onFilter( 'wpml_tm_adjust_translation_fields', 10, 2 )
15 ->then( spreadArgs( [ $this, 'setGroupsAndLabels' ] ) );
16 }
17
18 public function setGroupsAndLabels( $fields, $job ) {
19 if ( ! Hooks::isProduct( $job ) ) {
20 return $fields;
21 }
22
23 foreach ( $fields as $key => $field ) {
24 $fields[ $key ] = $this->processField( $field );
25 }
26
27 return $fields;
28 }
29
30 private function processField( $field ) {
31 if ( Str::startsWith( \WCML_Composite_Products::FIELD_TYPE_PREFIX . ':', $field['field_type'] ) ) {
32 $parts = explode( ':', $field['field_type'] );
33
34 $field['title'] = apply_filters( 'wpml_labelize_string', end( $parts ), 'TranslationJob' );
35 $field['group'] = Hooks::getTopLevelGroup();
36
37 if ( 4 === count( $parts ) ) {
38 $field['group']['wc_composite_scenarios'] = 'Composite Scenarios';
39 } else {
40 $field['group']['wc_composite_components'] = 'Composite Components';
41 }
42 }
43
44 return $field;
45 }
46
47 }
48