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 / WcProductAddons / JobHooks.php
woocommerce-multilingual / compatibility / WcProductAddons Last commit date
Factory.php 2 weeks ago JobHooks.php 2 weeks ago MulticurrencyHooks.php 2 weeks ago SharedHooks.php 2 weeks ago class-wcml-product-addons.php 2 weeks ago
JobHooks.php
50 lines
1 <?php
2
3 namespace WCML\Compatibility\WcProductAddons;
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_Product_Addons::ADDON_PREFIX, $field['field_type'] ) ) {
32 $parts = explode( '_', $field['field_type'] );
33
34 if ( count( $parts ) > 3 ) {
35 $title = 'Option ' . end( $parts );
36 } else {
37 $title = end( $parts );
38 }
39
40 $field['title'] = apply_filters( 'wpml_labelize_string', $title, 'TranslationJob' );
41
42 $field['group'] = Hooks::getTopLevelGroup();
43 $field['group']['wc_product_addons'] = 'Add-ons';
44 }
45
46 return $field;
47 }
48
49 }
50