File manager - Edit - /home/aussies6/.trash/wp-content/plugins/woocommerce-exporter/includes/customer.php
Back
<?php if( is_admin() ) { /* Start of: WordPress Administration */ if( !function_exists( 'woo_ce_get_export_type_customer_count' ) ) { function woo_ce_get_export_type_customer_count() { $count = 0; // Check if the existing Transient exists $cached = get_transient( WOO_CE_PREFIX . '_customer_count' ); if( $cached == false ) { if( $users = woo_ce_get_export_type_count( 'user' ) > 1000 ) { $count = sprintf( '~%s+', 1000 ); } else { $post_type = 'shop_order'; $args = array( 'post_type' => $post_type, 'posts_per_page' => -1, 'fields' => 'ids' ); $woocommerce_version = woo_get_woo_version(); // Check if this is a WooCommerce 2.2+ instance (new Post Status) if( version_compare( $woocommerce_version, '2.2' ) >= 0 ) { $args['post_status'] = apply_filters( 'woo_ce_customer_post_status', array( 'wc-pending', 'wc-on-hold', 'wc-processing', 'wc-completed' ) ); } else { $args['post_status'] = apply_filters( 'woo_ce_customer_post_status', woo_ce_post_statuses() ); $args['tax_query'] = array( array( 'taxonomy' => 'shop_order_status', 'field' => 'slug', 'terms' => array( 'pending', 'on-hold', 'processing', 'completed' ) ), ); } $order_ids = new WP_Query( $args ); $count = $order_ids->found_posts; if( $count > 100 ) { $count = sprintf( '~%s', $count ); } else { $customers = array(); if( $order_ids->posts ) { foreach( $order_ids->posts as $order_id ) { $email = get_post_meta( $order_id, '_billing_email', true ); if( !in_array( $email, $customers ) ) $customers[$order_id] = $email; unset( $email ); } $count = count( $customers ); } } } set_transient( WOO_CE_PREFIX . '_customer_count', $count, HOUR_IN_SECONDS ); } else { $count = $cached; } return $count; } } /* End of: WordPress Administration */ } // Returns a list of Customer export columns function woo_ce_get_customer_fields( $format = 'full' ) { $export_type = 'customer'; $fields = array(); $fields[] = array( 'name' => 'user_id', 'label' => __( 'User ID', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'user_name', 'label' => __( 'Username', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'user_role', 'label' => __( 'User Role', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_full_name', 'label' => __( 'Billing: Full Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_first_name', 'label' => __( 'Billing: First Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_last_name', 'label' => __( 'Billing: Last Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_company', 'label' => __( 'Billing: Company', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_address', 'label' => __( 'Billing: Street Address (Full)', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_address_1', 'label' => __( 'Billing: Street Address 1', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_address_2', 'label' => __( 'Billing: Street Address 2', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_city', 'label' => __( 'Billing: City', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_postcode', 'label' => __( 'Billing: ZIP Code', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_state', 'label' => __( 'Billing: State (prefix)', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_state_full', 'label' => __( 'Billing: State', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_country', 'label' => __( 'Billing: Country', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_phone', 'label' => __( 'Billing: Phone Number', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'billing_email', 'label' => __( 'Billing: E-mail Address', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_full_name', 'label' => __( 'Shipping: Full Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_first_name', 'label' => __( 'Shipping: First Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_last_name', 'label' => __( 'Shipping: Last Name', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_company', 'label' => __( 'Shipping: Company', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_address', 'label' => __( 'Shipping: Street Address (Full)', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_address_1', 'label' => __( 'Shipping: Street Address 1', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_address_2', 'label' => __( 'Shipping: Street Address 2', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_city', 'label' => __( 'Shipping: City', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_postcode', 'label' => __( 'Shipping: ZIP Code', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_state', 'label' => __( 'Shipping: State (prefix)', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_state_full', 'label' => __( 'Shipping: State', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_country', 'label' => __( 'Shipping: Country (prefix)', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'shipping_country_full', 'label' => __( 'Shipping: Country', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'total_spent', 'label' => __( 'Total Spent', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'completed_orders', 'label' => __( 'Completed Orders', 'woocommerce-exporter' ) ); $fields[] = array( 'name' => 'total_orders', 'label' => __( 'Total Orders', 'woocommerce-exporter' ) ); /* $fields[] = array( 'name' => '', 'label' => __( '', 'woocommerce-exporter' ) ); */ // Drop in our content filters here add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' ); // Allow Plugin/Theme authors to add support for additional columns $fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type ); // Remove our content filters here to play nice with other Plugins remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' ); switch( $format ) { case 'summary': $output = array(); $size = count( $fields ); for( $i = 0; $i < $size; $i++ ) { if( isset( $fields[$i] ) ) $output[$fields[$i]['name']] = 'on'; } return $output; break; case 'full': default: $sorting = woo_ce_get_option( $export_type . '_sorting', array() ); $size = count( $fields ); for( $i = 0; $i < $size; $i++ ) { $fields[$i]['reset'] = $i; $fields[$i]['order'] = ( isset( $sorting[$fields[$i]['name']] ) ? $sorting[$fields[$i]['name']] : $i ); } // Check if we are using PHP 5.3 and above if( version_compare( phpversion(), '5.3' ) >= 0 ) usort( $fields, woo_ce_sort_fields( 'order' ) ); return $fields; break; } } function woo_ce_override_customer_field_labels( $fields = array() ) { $labels = woo_ce_get_option( 'customer_labels', array() ); if( !empty( $labels ) ) { foreach( $fields as $key => $field ) { if( isset( $labels[$field['name']] ) ) $fields[$key]['label'] = $labels[$field['name']]; } } return $fields; } add_filter( 'woo_ce_customer_fields', 'woo_ce_override_customer_field_labels', 11 );
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings