Product_Update_Listener
Summary
Class Product_Update_Listener
Description
Listens for updates to product meta to determine if the review cache should be flushed
Source
File: src/BigCommerce/Reviews/Product_Update_Listener.php
class Product_Update_Listener { const TRIGGER_UPDATE = 'bigcommerce/reviews/update'; /** * Check if updates to product meta include changes to review count or rating sum * * @param int $meta_id ID of updated metadata entry. * @param int $post_id Post ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * * @action added_post_meta * @action updated_post_meta */ public function meta_updated( $meta_id, $post_id, $meta_key, $meta_value ) { if ( ! in_array( $meta_key, [ Product::REVIEW_COUNT_META_KEY, Product::RATING_SUM_META_KEY ], true ) ) { return; } $product_id = get_post_meta( $post_id, Product::BIGCOMMERCE_ID, true ); if ( ! wp_next_scheduled( self::TRIGGER_UPDATE, [ $product_id ] ) ) { wp_schedule_single_event( time(), self::TRIGGER_UPDATE, [ (int) $product_id ] ); } } }
Methods
- meta_updated — Check if updates to product meta include changes to review count or rating sum