get_var( "SELECT COUNT( product_id ) FROM {$wpdb->wc_product_meta_lookup} AS lookup INNER JOIN {$wpdb->posts} as posts ON lookup.product_id = posts.ID WHERE stock_status IN ( 'onbackorder', 'outofstock' ) AND posts.post_status = 'publish'" ); set_transient( self::LOW_STOCK_TRANSIENT_NAME, $low_stock_out_of_stock_count, HOUR_IN_SECONDS ); } return $low_stock_out_of_stock_count > 0; } /** * Clears transient for out of stock indicator * * @return boolean */ public static function clear_low_out_of_stock_count_transient() { delete_transient( self::LOW_STOCK_TRANSIENT_NAME ); return true; } /** * Add alert count to the component settings. * * @param array $settings Component settings. */ public function component_settings( $settings ) { $settings['alertCount'] = Notes::get_notes_count( array( 'error', 'update' ), array( 'unactioned' ) ); $settings['hasLowStock'] = $this->has_low_stock_products(); return $settings; } }