function woo_ce_extend_order_item( $order_item = array(), $order_id = 0 ) { global $export; // WooCommerce Brands Addon - http://woothemes.com/woocommerce/ // WooCommerce Brands - http://proword.net/Woocommerce_Brands/ if( class_exists( 'WC_Brands' ) || class_exists( 'woo_brands' ) || taxonomy_exists( apply_filters( 'woo_ce_brand_term_taxonomy', 'product_brand' ) ) ) $order_item->brand = woo_ce_get_product_assoc_brands( $order_item->product_id ); // Product Vendors - http://www.woothemes.com/products/product-vendors/ if( class_exists( 'WooCommerce_Product_Vendors' ) ) $order_item->vendor = woo_ce_get_product_assoc_product_vendors( $order_item->product_id ); // Cost of Goods - http://www.skyverge.com/product/woocommerce-cost-of-goods-tracking/ if( class_exists( 'WC_COG' ) ) { $meta_type = 'order_item'; $order_item->cost_of_goods = woo_ce_format_price( get_metadata( $meta_type, $order_item->id, '_wc_cog_item_cost', true ) ); $order_item->total_cost_of_goods = woo_ce_format_price( get_metadata( $meta_type, $order_item->id, '_wc_cog_item_total_cost', true ) ); } // WooCommerce MSRP Pricing - http://woothemes.com/woocommerce/ if( function_exists( 'woocommerce_msrp_activate' ) ) { $order_item->msrp = woo_ce_format_price( get_post_meta( $order_item->product_id, '_msrp_price', true ) ); } // WooCommerce TM Extra Product Options - http://codecanyon.net/item/woocommerce-extra-product-options/7908619 if( class_exists( 'TM_Extra_Product_Options' ) ) { if( $tm_fields = woo_ce_get_extra_product_option_fields() ) { $meta_type = 'order_item'; foreach( $tm_fields as $tm_field ) { $order_item->{sprintf( 'tm_%s', sanitize_key( $tm_field['name'] ) )} = woo_ce_get_extra_product_option_value( $order_item->id, $tm_field ); } } } unset( $tm_fields, $tm_field ); // Barcodes for WooCommerce - http://www.wolkenkraft.com/produkte/barcodes-fuer-woocommerce/ if( function_exists( 'wpps_requirements_met' ) ) { $order_item->order_items_barcode_type = get_post_meta( $order_item->product_id, '_barcode_type', true ); $order_item->order_items_barcode = get_post_meta( $order_item->product_id, '_barcode', true ); } // Attributes if( $attributes = woo_ce_get_product_attributes() ) { if( !empty( $order_item->variation_id ) ) { $meta_type = 'order_item'; foreach( $attributes as $attribute ) { $meta_value = get_metadata( $meta_type, $order_item->id, sprintf( 'pa_%s', $attribute->attribute_name ), true ); if( $meta_value !== false ) { $term_taxonomy = 'pa_' . $attribute->attribute_name; if( taxonomy_exists( $term_taxonomy ) ) { $term = get_term_by( 'slug', $meta_value, $term_taxonomy ); if( $term && !is_wp_error( $term ) ) $order_item->{'attribute_' . $attribute->attribute_name} = $term->name; } } } } } unset( $attributes, $attribute ); // Custom Order Items fields $custom_order_items = woo_ce_get_option( 'custom_order_items', '' ); if( !empty( $custom_order_items ) ) { $meta_type = 'order_item'; foreach( $custom_order_items as $custom_order_item ) { if( !empty( $custom_order_item ) ) { // Check if this Custom Order Item has already been set if( isset( $order_item->{$custom_order_item} ) ) { // Append the new result to the existing value (likely a checkbox, multiple select, etc.) $order_item->{$custom_order_item} .= $export->category_separator . implode( $export->category_separator, (array)get_metadata( $meta_type, $order_item->id, $custom_order_item, true ) ); } else { // Otherwise make a new one $order_item->{$custom_order_item} = woo_ce_format_custom_meta( get_metadata( $meta_type, $order_item->id, $custom_order_item, true ) ); } } } } unset( $custom_order_items, $custom_order_item ); // Custom Product fields $custom_products = woo_ce_get_option( 'custom_products', '' ); if( !empty( $custom_products ) ) { $meta_type = 'order_item'; foreach( $custom_products as $custom_product ) { if( !empty( $custom_product ) ) { $order_item->{$custom_product} = woo_ce_format_custom_meta( get_post_meta( $order_item->product_id, $custom_product, true ) ); } } } unset( $custom_products, $custom_product ); return $order_item; }
function woo_ce_user_extend( $user ) { // WooCommerce Hear About Us - https://wordpress.org/plugins/woocommerce-hear-about-us/ if( class_exists( 'WooCommerce_HearAboutUs' ) ) { $source = get_user_meta( $user->ID, '_wchau_source', true ); if( $source == '' ) $source = __( 'N/A', 'woo_ce' ); $user->hear_about_us = $source; unset( $source ); } // WooCommerce User Profile fields if( class_exists( 'WC_Admin_Profile' ) ) { $admin_profile = new WC_Admin_Profile(); if( $show_fields = $admin_profile->get_customer_meta_fields() ) { foreach( $show_fields as $fieldset ) { foreach( $fieldset['fields'] as $key => $field ) $user->{$key} = esc_attr( get_user_meta( $user->ID, $key, true ) ); } } unset( $show_fields, $fieldset, $field ); } // Custom User fields $custom_users = woo_ce_get_option( 'custom_users', '' ); if( !empty( $custom_users ) ) { foreach( $custom_users as $custom_user ) { // Check that the custom User name is filled and it hasn't previously been set if( !empty( $custom_user ) && !isset( $user->{$custom_user} ) ) { $user->{$custom_user} = woo_ce_format_custom_meta( get_user_meta( $user->ID, $custom_user, true ) ); } } } unset( $custom_users, $custom_user ); return $user; }
function woo_ce_subscription_extend( $subscription ) { // WooCommerce User Profile fields if( class_exists( 'WC_Admin_Profile' ) ) { $admin_profile = new WC_Admin_Profile(); if( $show_fields = $admin_profile->get_customer_meta_fields() ) { foreach( $show_fields as $fieldset ) { foreach( $fieldset['fields'] as $key => $field ) $subscription->{$key} = esc_attr( get_user_meta( $subscription->user_id, $key, true ) ); } } unset( $show_fields, $fieldset, $field ); } // Custom Order fields $custom_orders = woo_ce_get_option( 'custom_orders', '' ); if( !empty( $custom_orders ) ) { foreach( $custom_orders as $custom_order ) { if( !empty( $custom_order ) && !isset( $subscription->{$custom_order} ) ) $subscription->{$custom_order} = esc_attr( get_post_meta( $subscription->order_id, $custom_order, true ) ); } } // Custom User fields $custom_users = woo_ce_get_option( 'custom_users', '' ); if( !empty( $custom_users ) ) { foreach( $custom_users as $custom_user ) { if( !empty( $custom_user ) && !isset( $subscription->{$custom_user} ) ) { $subscription->{$custom_user} = woo_ce_format_custom_meta( get_user_meta( $subscription->user_id, $custom_user, true ) ); } } } unset( $custom_users, $custom_user ); return $subscription; }
function woo_ce_extend_product_item( $product, $product_id ) { global $export; // Advanced Google Product Feed - http://plugins.leewillis.co.uk/downloads/wp-e-commerce-product-feeds/ if( function_exists( 'woocommerce_gpf_install' ) ) { $product->gpf_data = get_post_meta( $product_id, '_woocommerce_gpf_data', true ); $product->gpf_availability = ( isset( $product->gpf_data['availability'] ) ? woo_ce_format_gpf_availability( $product->gpf_data['availability'] ) : '' ); $product->gpf_condition = ( isset( $product->gpf_data['condition'] ) ? woo_ce_format_gpf_condition( $product->gpf_data['condition'] ) : '' ); $product->gpf_brand = ( isset( $product->gpf_data['brand'] ) ? $product->gpf_data['brand'] : '' ); $product->gpf_product_type = ( isset( $product->gpf_data['product_type'] ) ? $product->gpf_data['product_type'] : '' ); $product->gpf_google_product_category = ( isset( $product->gpf_data['google_product_category'] ) ? $product->gpf_data['google_product_category'] : '' ); $product->gpf_gtin = ( isset( $product->gpf_data['gtin'] ) ? $product->gpf_data['gtin'] : '' ); $product->gpf_mpn = ( isset( $product->gpf_data['mpn'] ) ? $product->gpf_data['mpn'] : '' ); $product->gpf_gender = ( isset( $product->gpf_data['gender'] ) ? $product->gpf_data['gender'] : '' ); $product->gpf_age_group = ( isset( $product->gpf_data['age_group'] ) ? $product->gpf_data['age_group'] : '' ); $product->gpf_color = ( isset( $product->gpf_data['color'] ) ? $product->gpf_data['color'] : '' ); $product->gpf_size = ( isset( $product->gpf_data['size'] ) ? $product->gpf_data['size'] : '' ); } // All in One SEO Pack - http://wordpress.org/extend/plugins/all-in-one-seo-pack/ if( function_exists( 'aioseop_activate' ) ) { $product->aioseop_keywords = get_post_meta( $product_id, '_aioseop_keywords', true ); $product->aioseop_description = get_post_meta( $product_id, '_aioseop_description', true ); $product->aioseop_title = get_post_meta( $product_id, '_aioseop_title', true ); $product->aioseop_title_attributes = get_post_meta( $product_id, '_aioseop_titleatr', true ); $product->aioseop_menu_label = get_post_meta( $product_id, '_aioseop_menulabel', true ); } // WordPress SEO - http://wordpress.org/plugins/wordpress-seo/ if( function_exists( 'wpseo_admin_init' ) ) { $product->wpseo_focuskw = get_post_meta( $product_id, '_yoast_wpseo_focuskw', true ); $product->wpseo_metadesc = get_post_meta( $product_id, '_yoast_wpseo_metadesc', true ); $product->wpseo_title = get_post_meta( $product_id, '_yoast_wpseo_title', true ); $product->wpseo_googleplus_description = get_post_meta( $product_id, '_yoast_wpseo_google-plus-description', true ); $product->wpseo_opengraph_description = get_post_meta( $product_id, '_yoast_wpseo_opengraph-description', true ); } // Ultimate SEO - http://wordpress.org/plugins/seo-ultimate/ if( function_exists( 'su_wp_incompat_notice' ) ) { $product->useo_meta_title = get_post_meta( $product_id, '_su_title', true ); $product->useo_meta_description = get_post_meta( $product_id, '_su_description', true ); $product->useo_meta_keywords = get_post_meta( $product_id, '_su_keywords', true ); $product->useo_social_title = get_post_meta( $product_id, '_su_og_title', true ); $product->useo_social_description = get_post_meta( $product_id, '_su_og_description', true ); $product->useo_meta_noindex = get_post_meta( $product_id, '_su_meta_robots_noindex', true ); $product->useo_meta_noautolinks = get_post_meta( $product_id, '_su_disable_autolinks', true ); } // WooCommerce MSRP Pricing - http://woothemes.com/woocommerce/ if( function_exists( 'woocommerce_msrp_activate' ) ) { $product->msrp = get_post_meta( $product_id, '_msrp_price', true ); if( $product->msrp == false && $product->post_type == 'product_variation' ) $product->msrp = get_post_meta( $product_id, '_msrp', true ); // Check that a valid price has been provided if( isset( $product->msrp ) && $product->msrp != '' ) $product->msrp = woo_ce_format_price( $product->msrp ); } // WooCommerce Brands Addon - http://woothemes.com/woocommerce/ // WooCommerce Brands - http://proword.net/Woocommerce_Brands/ if( class_exists( 'WC_Brands' ) || class_exists( 'woo_brands' ) || taxonomy_exists( apply_filters( 'woo_ce_brand_term_taxonomy', 'product_brand' ) ) ) $product->brands = woo_ce_get_product_assoc_brands( $product_id, $product->parent_id ); // Cost of Goods - http://www.skyverge.com/product/woocommerce-cost-of-goods-tracking/ if( class_exists( 'WC_COG' ) ) $product->cost_of_goods = get_post_meta( $product_id, '_wc_cog_cost', true ); // Per-Product Shipping - http://www.woothemes.com/products/per-product-shipping/ if( function_exists( 'woocommerce_per_product_shipping_init' ) ) $product->per_product_shipping = get_post_meta( $product_id, '_per_product_shipping', true ); // Product Vendors - http://www.woothemes.com/products/product-vendors/ if( class_exists( 'WooCommerce_Product_Vendors' ) ) { $product->vendors = woo_ce_get_product_assoc_product_vendors( $product_id, $product->parent_id ); $product->vendor_ids = woo_ce_get_product_assoc_product_vendors( $product_id, $product->parent_id, 'term_id' ); $product->vendor_commission = woo_ce_get_product_assoc_product_vendor_commission( $product_id, $product->vendor_ids ); } // WooCommerce Wholesale Pricing - http://ignitewoo.com/woocommerce-extensions-plugins-themes/woocommerce-wholesale-pricing/ if( class_exists( 'woocommerce_wholesale_pricing' ) ) { $product->wholesale_price = woo_ce_format_price( get_post_meta( $product_id, 'wholesale_price', true ) ); $product->wholesale_price_text = get_post_meta( $product_id, 'wholesale_price_text', true ); } // WooCommerce Subscriptions - http://www.woothemes.com/products/woocommerce-subscriptions/ if( class_exists( 'WC_Subscriptions_Manager' ) ) { $product->subscription_price = get_post_meta( $product_id, '_subscription_price', true ); $product->subscription_period_interval = woo_ce_format_product_subscription_period_interval( get_post_meta( $product_id, '_subscription_period_interval', true ) ); $product->subscription_period = get_post_meta( $product_id, '_subscription_period', true ); $product->subscription_length = woo_ce_format_product_subscripion_length( get_post_meta( $product_id, '_subscription_length', true ), $product->subscription_period ); $product->subscription_sign_up_fee = get_post_meta( $product_id, '_subscription_sign_up_fee', true ); $product->subscription_trial_length = get_post_meta( $product_id, '_subscription_trial_length', true ); $product->subscription_trial_period = get_post_meta( $product_id, '_subscription_trial_period', true ); $product->subscription_limit = woo_ce_format_product_subscription_limit( get_post_meta( $product_id, '_subscription_limit', true ) ); } // WooCommerce Bookings - http://www.woothemes.com/products/woocommerce-bookings/ if( class_exists( 'WC_Bookings' ) ) { $product->booking_has_persons = get_post_meta( $product_id, '_wc_booking_has_persons', true ); $product->booking_has_resources = get_post_meta( $product_id, '_wc_booking_has_resources', true ); $product->booking_base_cost = get_post_meta( $product_id, '_wc_booking_cost', true ); $product->booking_block_cost = get_post_meta( $product_id, '_wc_booking_base_cost', true ); $product->booking_display_cost = get_post_meta( $product_id, '_wc_display_cost', true ); $product->booking_requires_confirmation = get_post_meta( $product_id, '_wc_booking_requires_confirmation', true ); $product->booking_user_can_cancel = get_post_meta( $product_id, '_wc_booking_user_can_cancel', true ); } // Barcodes for WooCommerce - http://www.wolkenkraft.com/produkte/barcodes-fuer-woocommerce/ if( function_exists( 'wpps_requirements_met' ) ) { // Cannot clean up the barcode type as the developer has not exposed any functions or methods $product->barcode_type = get_post_meta( $product_id, '_barcode_type', true ); $product->barcode = get_post_meta( $product_id, '_barcode', true ); } // Custom Product meta $custom_products = woo_ce_get_option( 'custom_products', '' ); if( !empty( $custom_products ) ) { foreach( $custom_products as $custom_product ) { if( !empty( $custom_product ) ) { $product->{$custom_product} = woo_ce_format_custom_meta( get_post_meta( $product_id, $custom_product, true ) ); } } } if( $export->gallery_unique ) { $max_size = woo_ce_get_option( 'max_product_gallery', 3 ); if( !empty( $product->product_gallery ) ) { // Tack on a extra digit to max_size so we get the correct number of columns $max_size++; $product_gallery = explode( $export->category_separator, $product->product_gallery ); $size = count( $product_gallery ); for( $i = 1; $i < $size; $i++ ) { if( $i == $max_size ) break; $product->{'product_gallery_' . $i} = $product_gallery[$i]; } $product->product_gallery = $product_gallery[0]; unset( $product_gallery ); } } return $product; }