WC_Product_Data_Store_CPT::read_product_data( WC_Product $product )
Read product data. Can be overridden by child classes to load other props.
Description Description
Parameters Parameters
- $product
-
(Required) Product object.
Source Source
File: includes/data-stores/class-wc-product-data-store-cpt.php
protected function read_product_data( &$product ) { $id = $product->get_id(); $post_meta_values = get_post_meta( $id ); $meta_key_to_props = array( '_sku' => 'sku', '_regular_price' => 'regular_price', '_sale_price' => 'sale_price', '_price' => 'price', '_sale_price_dates_from' => 'date_on_sale_from', '_sale_price_dates_to' => 'date_on_sale_to', 'total_sales' => 'total_sales', '_tax_status' => 'tax_status', '_tax_class' => 'tax_class', '_manage_stock' => 'manage_stock', '_backorders' => 'backorders', '_low_stock_amount' => 'low_stock_amount', '_sold_individually' => 'sold_individually', '_weight' => 'weight', '_length' => 'length', '_width' => 'width', '_height' => 'height', '_upsell_ids' => 'upsell_ids', '_crosssell_ids' => 'cross_sell_ids', '_purchase_note' => 'purchase_note', '_default_attributes' => 'default_attributes', '_virtual' => 'virtual', '_downloadable' => 'downloadable', '_download_limit' => 'download_limit', '_download_expiry' => 'download_expiry', '_thumbnail_id' => 'image_id', '_stock' => 'stock_quantity', '_stock_status' => 'stock_status', '_wc_average_rating' => 'average_rating', '_wc_rating_count' => 'rating_counts', '_wc_review_count' => 'review_count', '_product_image_gallery' => 'gallery_image_ids', ); $set_props = array(); foreach ( $meta_key_to_props as $meta_key => $prop ) { $meta_value = isset( $post_meta_values[ $meta_key ][0] ) ? $post_meta_values[ $meta_key ][0] : null; $set_props[ $prop ] = maybe_unserialize( $meta_value ); // get_post_meta only unserializes single values. } $set_props['category_ids'] = $this->get_term_ids( $product, 'product_cat' ); $set_props['tag_ids'] = $this->get_term_ids( $product, 'product_tag' ); $set_props['shipping_class_id'] = current( $this->get_term_ids( $product, 'product_shipping_class' ) ); $set_props['gallery_image_ids'] = array_filter( explode( ',', $set_props['gallery_image_ids'] ) ); $product->set_props( $set_props ); }
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |