Cache ppec subscriptions check response

This commit is contained in:
Emili Castells Guasch 2023-05-15 11:53:25 +02:00
parent 21b23ae655
commit 96f6ad715a

View file

@ -67,8 +67,12 @@ class PPECHelper {
* @return bool
*/
public static function site_has_ppec_subscriptions() {
global $wpdb;
$has_ppec_subscriptions = get_transient( 'ppcp_has_ppec_subscriptions' );
if ( $has_ppec_subscriptions !== false ) {
return $has_ppec_subscriptions === 'true';
}
global $wpdb;
$result = $wpdb->get_var(
$wpdb->prepare(
"SELECT 1 FROM {$wpdb->posts} p JOIN {$wpdb->postmeta} pm ON pm.post_id = p.ID
@ -80,6 +84,12 @@ class PPECHelper {
)
);
set_transient(
'ppcp_has_ppec_subscriptions',
! empty( $result ) ? 'true' : 'false',
3 * MONTH_IN_SECONDS
);
return ! empty( $result );
}
@ -92,7 +102,9 @@ class PPECHelper {
/**
* The filter returning whether the compatibility layer for PPEC Subscriptions should be initialized.
*/
return ( ! self::is_gateway_available() ) && self::site_has_ppec_subscriptions() && apply_filters( 'woocommerce_paypal_payments_process_legacy_subscriptions', true );
return ( ! self::is_gateway_available() )
&& self::site_has_ppec_subscriptions()
&& apply_filters( 'woocommerce_paypal_payments_process_legacy_subscriptions', true );
}
}