/**
  * Hide attributes if they correspond to filtered-out variations.
  *
  * @param  string   $output     original output
  * @param  array    $attribute  attribute data
  * @param  array    $values     attribute values
  * @return string               modified output
  */
 public function bundled_item_attribute($output, $attribute, $values)
 {
     if ($attribute['is_variation']) {
         $variation_attribute_values = array();
         $bundled_item = $this->get_bundled_item($this->listing_attributes_of);
         $bundled_item_variations = $bundled_item->get_product_variations();
         if (empty($bundled_item_variations)) {
             return $output;
         }
         $attribute_key = 'attribute_' . sanitize_title($attribute['name']);
         // Find active attribute values from the bundled item variation data.
         foreach ($bundled_item_variations as $variation_data) {
             if (isset($variation_data['attributes'][$attribute_key])) {
                 $variation_attribute_values[] = $variation_data['attributes'][$attribute_key];
                 $variation_attribute_values = array_unique($variation_attribute_values);
             }
         }
         if (!empty($variation_attribute_values) && in_array('', $variation_attribute_values)) {
             return $output;
         }
         $attribute_name = $attribute['name'];
         $filtered_values = array();
         if ($attribute['is_taxonomy']) {
             $product_terms = WC_PB_Core_Compatibility::wc_get_product_terms($bundled_item->product_id, $attribute_name, array('fields' => 'all'));
             foreach ($product_terms as $product_term) {
                 if (in_array($product_term->slug, $variation_attribute_values)) {
                     $filtered_values[] = $product_term->name;
                 }
             }
             return wpautop(wptexturize(implode(', ', $filtered_values)));
         } else {
             foreach ($values as $value) {
                 $check_value = WC_PB_Core_Compatibility::is_wc_version_gte_2_4() ? $value : sanitize_title($value);
                 if (in_array($check_value, $variation_attribute_values)) {
                     $filtered_values[] = $value;
                 }
             }
             return wpautop(wptexturize(implode(', ', $filtered_values)));
         }
     }
     return $output;
 }
function wc_bundles_get_product_terms($product_id, $attribute_name, $args)
{
    _deprecated_function('wc_bundles_get_product_terms', '4.13.1', 'WC_PB_Core_Compatibility::wc_get_product_terms');
    return WC_PB_Core_Compatibility::wc_get_product_terms($product_id, $attribute_name, $args);
}