PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 9.2.3
Jetpack – WP Security, Backup, Speed, & Growth v9.2.3
16.2-beta 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 All 501 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 }