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 / PaymentGateways / BlockHooks.php
woocommerce-multilingual / classes / PaymentGateways Last commit date
Settings 4 weeks ago BlockHooks.php 4 weeks ago BlockHooksFactory.php 4 weeks ago Factory.php 1 year ago Hooks.php 4 weeks ago Strings.php 4 weeks ago
BlockHooks.php
41 lines
1 <?php
2
3 namespace WCML\PaymentGateways;
4
5 use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry;
6 use WPML\LIB\WP\Hooks;
7
8 use function WPML\FP\spreadArgs;
9
10 class BlockHooks implements \IWPML_Action {
11
12 private $woocommerce_wpml;
13
14 public function __construct( \woocommerce_wpml $woocommerce_wpml ) {
15 $this->woocommerce_wpml = $woocommerce_wpml;
16 }
17
18 public function add_hooks() {
19 Hooks::onAction( 'woocommerce_blocks_payment_method_type_registration', PHP_INT_MAX )
20 ->then( spreadArgs( [ $this, 'translateSettings' ] ) );
21 }
22
23 public function translateSettings( $registry ) {
24 if ( $this->woocommerce_wpml->gateways instanceof \WCML_WC_Gateways ) {
25 foreach ( $registry->get_all_registered() as $gatewayId => $gateway ) {
26 Hooks::onFilter( 'option_woocommerce_' . $gatewayId . '_settings' )
27 ->then( spreadArgs( function( $settings ) use ( $gatewayId ) {
28 foreach ( [ 'title', 'description' ] as $name ) {
29 if ( isset( $settings[ $name ] ) ) {
30 $settings[ $name ] = $this->woocommerce_wpml->gateways->get_translated_gateway_string( $settings[ $name ], $gatewayId, $name );
31 }
32 }
33
34 return $settings;
35 } ) );
36 }
37 }
38 }
39
40 }
41