WC_Product_Data_Store_CPT::read_visibility()protectedWC 3.0.0

Convert visibility terms to props. Catalog visibility valid values are 'visible', 'catalog', 'search', and 'hidden'.

Метод класса: WC_Product_Data_Store_CPT{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->read_visibility( $product );
$product(WC_Product) (обязательный) (передается по ссылке — &)
Product object.

Список изменений

С версии 3.0.0 Введена.

Код WC_Product_Data_Store_CPT::read_visibility() WC 8.7.0

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,
		)
	);
}