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 / compatibility / WcCompositeProducts / JobHooks.php
woocommerce-multilingual / compatibility / WcCompositeProducts Last commit date
CompositedProductHooks.php 1 month ago Factory.php 1 month ago JobHooks.php 1 month ago MulticurrencyHooks.php 1 month ago class-wcml-composite-products.php 1 month 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