1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<?php
namespace Automattic\WooCommerce\Admin\Features\OnboardingTasks\Tasks;
use Automattic\WooCommerce\Admin\Features\Features; use Automattic\WooCommerce\Admin\Features\OnboardingTasks\Task;
/** * Payments Task */ class Payments extends Task {
/** * Used to cache is_complete() method result. * * @var null */ private $is_complete_result = null;
/** * ID. * * @return string */ public function get_id() { return 'payments'; }
/** * Title. * * @return string */ public function get_title() { return __( 'Get paid', 'woocommerce' ); }
/** * Content. * * @return string */ public function get_content() { return __( 'Choose payment providers and enable payment methods at checkout.', 'woocommerce' ); }
/** * Time. * * @return string */ public function get_time() { return __( '2 minutes', 'woocommerce' ); }
/** * Task completion. * * @return bool */ public function is_complete() { if ( $this->is_complete_result === null ) { $this->is_complete_result = self::has_gateways(); }
return $this->is_complete_result; }
/** * Task visibility. * * @return bool */ public function can_view() { // If the React-based Payments settings page is enabled, the task is always visible. if ( Features::is_enabled( 'reactify-classic-payments-settings' ) ) { return true; }
// The task is visible if WooPayments is not supported in the current store location country. // Otherwise, the WooPayments task will be shown. return Features::is_enabled( 'payment-gateway-suggestions' ) && ! WooCommercePayments::is_supported(); }
/** * Check if the store has any enabled gateways. * * @return bool */ public static function has_gateways() { $gateways = WC()->payment_gateways->get_available_payment_gateways(); $enabled_gateways = array_filter( $gateways, function( $gateway ) { return 'yes' === $gateway->enabled; } );
return ! empty( $enabled_gateways ); }
/** * The task action URL. * * Empty string means the task linking will be handled by the JS logic. * * @return string */ public function get_action_url() { // If the React-based Payments settings page is enabled, we want the task to link to the Payments Settings page. if ( Features::is_enabled( 'reactify-classic-payments-settings' ) ) { return admin_url( 'admin.php?page=wc-settings&tab=checkout' ); }
// Otherwise, we want the task behavior to remain unchanged (link to the Payments task page). return ''; } }
|