Automattic\WooCommerce\Checkout\Helpers
ReserveStock::get_query_for_reserved_stock() private WC 1.0
Returns query statement for getting reserved stock of a product.
{} Это метод класса: ReserveStock{}
Хуки из метода
Возвращает
Строку/null. Query statement.
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_query_for_reserved_stock( $product_id, $exclude_order_id );
- $product_id(число) (обязательный)
- Product ID.
- $exclude_order_id(числоeger)
- Optional order to exclude from the results.
По умолчанию: 0
Код ReserveStock::get_query_for_reserved_stock() ReserveStock::get query for reserved stock WC 4.9.1
private function get_query_for_reserved_stock( $product_id, $exclude_order_id = 0 ) {
global $wpdb;
$query = $wpdb->prepare(
"
SELECT COALESCE( SUM( stock_table.`stock_quantity` ), 0 ) FROM $wpdb->wc_reserved_stock stock_table
LEFT JOIN $wpdb->posts posts ON stock_table.`order_id` = posts.ID
WHERE posts.post_status IN ( 'wc-checkout-draft', 'wc-pending' )
AND stock_table.`expires` > NOW()
AND stock_table.`product_id` = %d
AND stock_table.`order_id` != %d
",
$product_id,
$exclude_order_id
);
/**
* Filter: woocommerce_query_for_reserved_stock
* Allows to filter the query for getting reserved stock of a product.
*
* @since 4.5.0
* @param string $query The query for getting reserved stock of a product.
* @param int $product_id Product ID.
* @param int $exclude_order_id Order to exclude from the results.
*/
return apply_filters( 'woocommerce_query_for_reserved_stock', $query, $product_id, $exclude_order_id );
}