Automattic\WooCommerce\Blocks\Payments
PaymentMethodRegistry{}
Class used for interacting with payment method types.
No Hooks.
Usage
$PaymentMethodRegistry = new PaymentMethodRegistry(); // use class methods
Methods
- public get_all_active_payment_method_script_dependencies()
- public get_all_active_registered()
- public get_all_registered_script_data()
Changelog
Since 2.6.0 | Introduced. |
PaymentMethodRegistry{} PaymentMethodRegistry{} code WC 9.6.1
final class PaymentMethodRegistry extends IntegrationRegistry { /** * Integration identifier is used to construct hook names and is given when the integration registry is initialized. * * @var string */ protected $registry_identifier = 'payment_method_type'; /** * Retrieves all registered payment methods that are also active. * * @return PaymentMethodTypeInterface[] */ public function get_all_active_registered() { return array_filter( $this->get_all_registered(), function( $payment_method ) { return $payment_method->is_active(); } ); } /** * Gets an array of all registered payment method script handles, but only for active payment methods. * * @return string[] */ public function get_all_active_payment_method_script_dependencies() { $script_handles = []; $payment_methods = $this->get_all_active_registered(); foreach ( $payment_methods as $payment_method ) { $script_handles = array_merge( $script_handles, is_admin() ? $payment_method->get_payment_method_script_handles_for_admin() : $payment_method->get_payment_method_script_handles() ); } return array_unique( array_filter( $script_handles ) ); } /** * Gets an array of all registered payment method script data, but only for active payment methods. * * @return array */ public function get_all_registered_script_data() { $script_data = []; $payment_methods = $this->get_all_active_registered(); foreach ( $payment_methods as $payment_method ) { $script_data[ $payment_method->get_name() ] = $payment_method->get_payment_method_data(); } return array( 'paymentMethodData' => array_filter( $script_data ) ); } }