summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/google-analytics/classes/wp-google-analytics-utils.php')
-rw-r--r--plugins/jetpack/modules/google-analytics/classes/wp-google-analytics-utils.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/google-analytics/classes/wp-google-analytics-utils.php b/plugins/jetpack/modules/google-analytics/classes/wp-google-analytics-utils.php
new file mode 100644
index 00000000..807461de
--- /dev/null
+++ b/plugins/jetpack/modules/google-analytics/classes/wp-google-analytics-utils.php
@@ -0,0 +1,63 @@
+<?php
+
+/**
+* Jetpack_Google_Analytics_Options provides a single interface to module options
+*
+* @author allendav
+*/
+
+/**
+* Bail if accessed directly
+*/
+if ( ! defined( 'ABSPATH' ) ) {
+ exit;
+}
+
+class Jetpack_Google_Analytics_Utils {
+ /**
+ * Gets product categories or varation attributes as a formatted concatenated string
+ * @param WC_Product
+ * @return string
+ */
+ public static function get_product_categories_concatenated( $product ) {
+ if ( ! class_exists( 'WooCommerce' ) ) {
+ return '';
+ }
+
+ if ( ! $product ) {
+ return '';
+ }
+
+ $variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : '';
+ if ( is_array( $variation_data ) && ! empty( $variation_data ) ) {
+ $line = wc_get_formatted_variation( $variation_data, true );
+ } else {
+ $out = array();
+ $categories = get_the_terms( $product->get_id(), 'product_cat' );
+ if ( $categories ) {
+ foreach ( $categories as $category ) {
+ $out[] = $category->name;
+ }
+ }
+ $line = join( "/", $out );
+ }
+ return $line;
+ }
+
+ /**
+ * Gets a product's SKU with fallback to just ID. IDs are prepended with a hash symbol.
+ * @param WC_Product
+ * @return string
+ */
+ public static function get_product_sku_or_id( $product ) {
+ if ( ! class_exists( 'WooCommerce' ) ) {
+ return '';
+ }
+
+ if ( ! $product ) {
+ return '';
+ }
+
+ return $product->get_sku() ? $product->get_sku() : '#' . $product->get_id();
+ }
+} \ No newline at end of file