| @@ 22-45 (lines=24) @@ | ||
| 19 | * @param WC_Product |
|
| 20 | * @return string |
|
| 21 | */ |
|
| 22 | public static function get_product_categories_concatenated( $product ) { |
|
| 23 | if ( ! class_exists( 'WooCommerce' ) ) { |
|
| 24 | return ''; |
|
| 25 | } |
|
| 26 | ||
| 27 | if ( ! $product ) { |
|
| 28 | return ''; |
|
| 29 | } |
|
| 30 | ||
| 31 | $variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : ''; |
|
| 32 | if ( is_array( $variation_data ) && ! empty( $variation_data ) ) { |
|
| 33 | $line = wc_get_formatted_variation( $variation_data, true ); |
|
| 34 | } else { |
|
| 35 | $out = array(); |
|
| 36 | $categories = get_the_terms( $product->get_id(), 'product_cat' ); |
|
| 37 | if ( $categories ) { |
|
| 38 | foreach ( $categories as $category ) { |
|
| 39 | $out[] = $category->name; |
|
| 40 | } |
|
| 41 | } |
|
| 42 | $line = join( "/", $out ); |
|
| 43 | } |
|
| 44 | return $line; |
|
| 45 | } |
|
| 46 | ||
| 47 | /** |
|
| 48 | * Gets a product's SKU with fallback to just ID. IDs are prepended with a hash symbol. |
|
| @@ 364-384 (lines=21) @@ | ||
| 361 | * @param object $product WC_Product. |
|
| 362 | * @return string |
|
| 363 | */ |
|
| 364 | public function get_product_categories_concatenated( $product ) { |
|
| 365 | ||
| 366 | if ( ! $product ) { |
|
| 367 | return ''; |
|
| 368 | } |
|
| 369 | ||
| 370 | $variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : ''; |
|
| 371 | if ( is_array( $variation_data ) && ! empty( $variation_data ) ) { |
|
| 372 | $line = wc_get_formatted_variation( $variation_data, true ); |
|
| 373 | } else { |
|
| 374 | $out = array(); |
|
| 375 | $categories = get_the_terms( $product->get_id(), 'product_cat' ); |
|
| 376 | if ( $categories ) { |
|
| 377 | foreach ( $categories as $category ) { |
|
| 378 | $out[] = $category->name; |
|
| 379 | } |
|
| 380 | } |
|
| 381 | $line = join( '/', $out ); |
|
| 382 | } |
|
| 383 | return $line; |
|
| 384 | } |
|
| 385 | ||
| 386 | } |
|
| 387 | ||