84 lines
1.9 KiB
PHP
84 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Product Variable Data Store Interface
|
|
*
|
|
* @version 3.0.0
|
|
* @package WooCommerce/Interface
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* WC Product Variable Data Store Interface
|
|
*
|
|
* Functions that must be defined by product variable store classes.
|
|
*
|
|
* @version 3.0.0
|
|
*/
|
|
interface WC_Product_Variable_Data_Store_Interface {
|
|
/**
|
|
* Does a child have a weight set?
|
|
*
|
|
* @param WC_Product $product Product object.
|
|
* @return boolean
|
|
*/
|
|
public function child_has_weight( $product );
|
|
|
|
/**
|
|
* Does a child have dimensions set?
|
|
*
|
|
* @param WC_Product $product Product object.
|
|
* @return boolean
|
|
*/
|
|
public function child_has_dimensions( $product );
|
|
|
|
/**
|
|
* Is a child in stock?
|
|
*
|
|
* @param WC_Product $product Product object.
|
|
* @return boolean
|
|
*/
|
|
public function child_is_in_stock( $product );
|
|
|
|
/**
|
|
* Syncs all variation names if the parent name is changed.
|
|
*
|
|
* @param WC_Product $product Product object.
|
|
* @param string $previous_name Previous name.
|
|
* @param string $new_name New name.
|
|
*/
|
|
public function sync_variation_names( &$product, $previous_name = '', $new_name = '' );
|
|
|
|
/**
|
|
* Stock managed at the parent level - update children being managed by this product.
|
|
* This sync function syncs downwards (from parent to child) when the variable product is saved.
|
|
*
|
|
* @param WC_Product $product Product object.
|
|
*/
|
|
public function sync_managed_variation_stock_status( &$product );
|
|
|
|
/**
|
|
* Sync variable product prices with children.
|
|
*
|
|
* @param WC_Product|int $product Product object or ID.
|
|
*/
|
|
public function sync_price( &$product );
|
|
|
|
/**
|
|
* Delete variations of a product.
|
|
*
|
|
* @param int $product_id Product ID.
|
|
* @param bool $force_delete False to trash.
|
|
*/
|
|
public function delete_variations( $product_id, $force_delete = false );
|
|
|
|
/**
|
|
* Untrash variations.
|
|
*
|
|
* @param int $product_id Product ID.
|
|
*/
|
|
public function untrash_variations( $product_id );
|
|
}
|