PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 6.4.4
Jetpack – WP Security, Backup, Speed, & Growth v6.4.4
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 All 500 releases
jetpack / modules / google-analytics / classes / wp-google-analytics-utils.php
wp-google-analytics-utils.php
63 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Jetpack_Google_Analytics_Options provides a single interface to module options
5 *
6 * @author allendav
7 */
8
9 /**
10 * Bail if accessed directly
11 */
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit;
14 }
15
16 class Jetpack_Google_Analytics_Utils {
17 /**
18 * Gets product categories or varation attributes as a formatted concatenated string
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.
49 * @param WC_Product
50 * @return string
51 */
52 public static function get_product_sku_or_id( $product ) {
53 if ( ! class_exists( 'WooCommerce' ) ) {
54 return '';
55 }
56
57 if ( ! $product ) {
58 return '';
59 }
60
61 return $product->get_sku() ? $product->get_sku() : '#' . $product->get_id();
62 }
63 }