wc_product_post_class( array $classes, string|array $class = '', int $post_id )
Adds extra post classes for products via the WordPress post_class hook, if used.
Description Description
Note: For performance reasons we instead recommend using wc_product_class/wc_get_product_class instead.
Parameters Parameters
- $classes
-
(Required) Current classes.
- $class
-
(Optional) Additional class.
Default value: ''
- $post_id
-
(Required) Post ID.
Return Return
(array)
Source Source
File: includes/wc-template-functions.php
function wc_product_post_class( $classes, $class = '', $post_id = 0 ) { if ( ! $post_id || ! in_array( get_post_type( $post_id ), array( 'product', 'product_variation' ), true ) ) { return $classes; } $product = wc_get_product( $post_id ); if ( ! $product ) { return $classes; } $classes[] = 'product'; $classes[] = wc_get_loop_class(); $classes[] = $product->get_stock_status(); if ( $product->is_on_sale() ) { $classes[] = 'sale'; } if ( $product->is_featured() ) { $classes[] = 'featured'; } if ( $product->is_downloadable() ) { $classes[] = 'downloadable'; } if ( $product->is_virtual() ) { $classes[] = 'virtual'; } if ( $product->is_sold_individually() ) { $classes[] = 'sold-individually'; } if ( $product->is_taxable() ) { $classes[] = 'taxable'; } if ( $product->is_shipping_taxable() ) { $classes[] = 'shipping-taxable'; } if ( $product->is_purchasable() ) { $classes[] = 'purchasable'; } if ( $product->get_type() ) { $classes[] = 'product-type-' . $product->get_type(); } if ( $product->is_type( 'variable' ) && $product->get_default_attributes() ) { $classes[] = 'has-default-attributes'; } $key = array_search( 'hentry', $classes, true ); if ( false !== $key ) { unset( $classes[ $key ] ); } return $classes; }
Changelog Changelog
Version | Description |
---|---|
2.1.0 | Introduced. |