@@ -804,14 +804,17 @@ public static function dequeue_scripts() {
804
804
global $ wp_scripts , $ wp_styles ;
805
805
806
806
$ payment_gateways = \WC ()->payment_gateways ->get_available_payment_gateways ();
807
- $ allowed_gateway_assets = [] ;
807
+ $ allowed_gateway_assets = array_keys ( $ payment_gateways ) ;
808
808
if ( ! empty ( $ payment_gateways ) ) {
809
+ // Payment gateway id doesn't always match the plugin slug, so account for these cases.
809
810
foreach ( array_keys ( $ payment_gateways ) as $ gateway ) {
810
- $ class = get_class ( $ payment_gateways [ $ gateway ] );
811
- $ plugin_file = ( new \ReflectionClass ( $ class ) )->getFileName ();
812
- $ plugin_base = \plugin_basename ( $ plugin_file );
813
- $ plugin_slug = explode ( '/ ' , $ plugin_base )[0 ];
814
- $ allowed_gateway_assets [] = $ plugin_slug ;
811
+ $ class = get_class ( $ payment_gateways [ $ gateway ] );
812
+ $ plugin_file = ( new \ReflectionClass ( $ class ) )->getFileName ();
813
+ $ plugin_base = \plugin_basename ( $ plugin_file );
814
+ $ plugin_slug = explode ( '/ ' , $ plugin_base )[0 ];
815
+ if ( ! in_array ( $ plugin_slug , $ allowed_gateway_assets , true ) ) {
816
+ $ allowed_gateway_assets [] = $ plugin_slug ;
817
+ }
815
818
}
816
819
}
817
820
@@ -831,7 +834,7 @@ public static function dequeue_scripts() {
831
834
}
832
835
if ( ! empty ( $ payment_gateways ) ) {
833
836
foreach ( $ allowed_gateway_assets as $ gateway ) {
834
- if ( false !== strpos ( $ wp_style ->src , $ gateway ) ) {
837
+ if ( false !== strpos ( $ handle , $ gateway ) || false !== strpos ( $ wp_script ->src , $ gateway ) ) {
835
838
$ allowed = true ;
836
839
break ;
837
840
}
0 commit comments