WC_Product_Data_Store_CPT::read_visibility( WC_Product $product )
Convert visibility terms to props.
Description Description
Catalog visibility valid values are ‘visible’, ‘catalog’, ‘search’, and ‘hidden’.
Parameters Parameters
- $product
-
(Required) Product object.
Source Source
File: includes/data-stores/class-wc-product-data-store-cpt.php
protected function read_visibility( &$product ) {
$terms = get_the_terms( $product->get_id(), 'product_visibility' );
$term_names = is_array( $terms ) ? wp_list_pluck( $terms, 'name' ) : array();
$featured = in_array( 'featured', $term_names, true );
$exclude_search = in_array( 'exclude-from-search', $term_names, true );
$exclude_catalog = in_array( 'exclude-from-catalog', $term_names, true );
if ( $exclude_search && $exclude_catalog ) {
$catalog_visibility = 'hidden';
} elseif ( $exclude_search ) {
$catalog_visibility = 'catalog';
} elseif ( $exclude_catalog ) {
$catalog_visibility = 'search';
} else {
$catalog_visibility = 'visible';
}
$product->set_props(
array(
'featured' => $featured,
'catalog_visibility' => $catalog_visibility,
)
);
}
Changelog Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |