With this shortcode, you can get any variable product attributes list. If the count is true it shows how many in the list as a number only.
[snn_get_attributes name=”Color”]
[snn_get_attributes name=”Color” count=”true”]
// [snn_get_attributes name="Color"]
//
// [snn_get_attributes name="Color" count="true"]
//
function snn_get_attributes_shortcode( $atts ) {
$atts = shortcode_atts( array(
'name' => '',
'count' => 'false'
), $atts, 'snn_get_attributes' );
global $product;
if ( ! is_a( $product, 'WC_Product' ) ) {
return 'No product found.';
}
$attributes = $product->get_attributes();
// Sanitize the attribute name
$attribute_name = sanitize_title( $atts['name'] );
// Check if it's a custom product attribute
if ( isset( $attributes[ $attribute_name ] ) ) {
// Custom product attribute
$attribute = $attributes[ $attribute_name ];
// Check if the attribute is not empty
if ( ! empty( $attribute->get_options() ) ) {
// If count is enabled, return the count of options
if ( $atts['count'] === 'true' ) {
return count( $attribute->get_options() );
}
// Otherwise, return the attribute options
return implode( ', ', $attribute->get_options() );
}
}
return '';
}
// Register the shortcode [snn_get_attributes name="Width" count="true"]
add_shortcode( 'snn_get_attributes', 'snn_get_attributes_shortcode' );