Automattic\WooCommerce\Internal\Admin
SiteHealth::should_suggest_persistent_object_cache()
Counts specific types of WooCommerce entities to determine if a persistent object cache would be beneficial.
Note that if all measured WooCommerce entities are below their thresholds, this will return null so that the other normal WordPress checks will still be run.
Метод класса: SiteHealth{}
Хуков нет.
Возвращает
true|null
. True if the store would benefit from a persistent object cache. Otherwise null.
Использование
$SiteHealth = new SiteHealth(); $SiteHealth->should_suggest_persistent_object_cache( $check );
- $check(true|null) (обязательный)
- A non-null value will short-circuit WP's normal tests for this.
Код SiteHealth::should_suggest_persistent_object_cache() SiteHealth::should suggest persistent object cache WC 9.3.1
public function should_suggest_persistent_object_cache( $check ) { // Skip this if some other filter has already determined yes. if ( true === $check ) { return $check; } $thresholds = array( 'orders' => 100, 'products' => 100, ); foreach ( $thresholds as $key => $threshold ) { try { switch ( $key ) { case 'orders': $orders_query = new \WC_Order_Query( array( 'status' => 'any', 'limit' => 1, 'paginate' => true, 'return' => 'ids', ) ); $orders_results = $orders_query->get_orders(); if ( $orders_results->total >= $threshold ) { $check = true; } break; case 'products': $products_query = new \WC_Product_Query( array( 'status' => 'any', 'limit' => 1, 'paginate' => true, 'return' => 'ids', ) ); $products_results = $products_query->get_products(); if ( $products_results->total >= $threshold ) { $check = true; } break; } } catch ( \Exception $exception ) { break; } if ( ! is_null( $check ) ) { break; } } return $check; }