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 / classes / order-property-filter / class-wcml-payment-method-filter.php
woocommerce-multilingual / classes / order-property-filter Last commit date
class-wcml-payment-method-filter.php 4 weeks ago
class-wcml-payment-method-filter.php
66 lines
1 <?php
2
3 use WCML\PaymentGateways\Strings;
4 use WPML\FP\Fns;
5
6 class WCML_Payment_Method_Filter {
7 private $payment_gateway_cache = [];
8
9 public function add_hooks() {
10 add_filter(
11 'woocommerce_order_get_payment_method_title',
12 Fns::withoutRecursion( Fns::identity(), [ $this, 'payment_method_string' ] ),
13 10,
14 2
15 );
16 }
17
18 public function payment_method_string( $title, $object ) {
19
20 if ( ! empty( $title ) && $object->get_id() ) {
21 $payment_gateway = $this->get_payment_gateway( $object->get_id() );
22
23 if ( isset( $_POST['payment_method'] ) && $payment_gateway->id !== $_POST['payment_method'] && WC()->payment_gateways() ) {
24 $payment_gateways = WC()->payment_gateways()->payment_gateways();
25 if ( isset( $payment_gateways[ $_POST['payment_method'] ] ) ) {
26 $payment_gateway = $payment_gateways[ $_POST['payment_method'] ];
27 }
28 }
29
30 if ( $payment_gateway ) {
31 $settings = maybe_unserialize( get_option( 'woocommerce_' . $payment_gateway->id . '_settings' ) );
32
33 $original_title = ! empty( $settings['title'] ) ? $settings['title'] : $payment_gateway->title;
34 if ( ! is_string( $original_title ) ) {
35 return $title;
36 }
37 $title = apply_filters(
38 'wpml_translate_single_string',
39 $original_title,
40 Strings::TRANSLATION_DOMAIN,
41 Strings::getStringName( $payment_gateway->id, 'title' )
42 );
43
44 if ( $title === $payment_gateway->title ) {
45 if ( 'cheque' === $payment_gateway->id ) {
46 $title = _x( $payment_gateway->title, 'Check payment method', 'woocommerce' );
47 } else {
48 $title = __( $payment_gateway->title, 'woocommerce' );
49 }
50 }
51 }
52 }
53
54 return $title;
55 }
56
57 private function get_payment_gateway( $object_id ) {
58 if ( ! array_key_exists( $object_id, $this->payment_gateway_cache ) ) {
59 $payment_gateway = wc_get_payment_gateway_by_order( $object_id );
60 $this->payment_gateway_cache[ $object_id ] = $payment_gateway;
61 }
62
63 return $this->payment_gateway_cache[ $object_id ];
64 }
65 }
66