WC_Report_Customer_List::column_default()publicWC 1.0

Get column value.

Метод класса: WC_Report_Customer_List{}

Возвращает

Строку.

Использование

$WC_Report_Customer_List = new WC_Report_Customer_List();
$WC_Report_Customer_List->column_default( $user, $column_name );
$user(WP_User) (обязательный)
WP User object.
$column_name(строка) (обязательный)
Column name.

Код WC_Report_Customer_List::column_default() WC 9.4.2

<?php
public function column_default( $user, $column_name ) {
	switch ( $column_name ) {

		case 'customer_name':
			if ( $user->last_name && $user->first_name ) {
				return $user->last_name . ', ' . $user->first_name;
			} else {
				return '-';
			}

		case 'username':
			return $user->user_login;

		case 'location':
			$state_code   = get_user_meta( $user->ID, 'billing_state', true );
			$country_code = get_user_meta( $user->ID, 'billing_country', true );

			$state   = isset( WC()->countries->states[ $country_code ][ $state_code ] ) ? WC()->countries->states[ $country_code ][ $state_code ] : $state_code;
			$country = isset( WC()->countries->countries[ $country_code ] ) ? WC()->countries->countries[ $country_code ] : $country_code;

			$value = '';

			if ( $state ) {
				$value .= $state . ', ';
			}

			$value .= $country;

			if ( $value ) {
				return $value;
			} else {
				return '-';
			}

		case 'email':
			return '<a href="mailto:' . $user->user_email . '">' . $user->user_email . '</a>';

		case 'spent':
			return wc_price( wc_get_customer_total_spent( $user->ID ) );

		case 'orders':
			return wc_get_customer_order_count( $user->ID );

		case 'last_order':
			$orders = wc_get_orders(
				array(
					'limit'    => 1,
					'status'   => array_map( 'wc_get_order_status_name', wc_get_is_paid_statuses() ),
					'customer' => $user->ID,
				)
			);

			if ( ! empty( $orders ) ) {
				$order = $orders[0];
				return '<a href="' . admin_url( 'post.php?post=' . $order->get_id() . '&action=edit' ) . '">' . _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number() . '</a> &ndash; ' . wc_format_datetime( $order->get_date_created() );
			} else {
				return '-';
			}

			break;

		case 'wc_actions':
			ob_start();
			?><p>
				<?php
				do_action( 'woocommerce_admin_user_actions_start', $user );

				$actions = array();

				$actions['refresh'] = array(
					'url'    => wp_nonce_url( add_query_arg( 'refresh', $user->ID ), 'refresh' ),
					'name'   => __( 'Refresh stats', 'woocommerce' ),
					'action' => 'refresh',
				);

				$actions['edit'] = array(
					'url'    => admin_url( 'user-edit.php?user_id=' . $user->ID ),
					'name'   => __( 'Edit', 'woocommerce' ),
					'action' => 'edit',
				);

				$actions['view'] = array(
					'url'    => admin_url( 'edit.php?post_type=shop_order&_customer_user=' . $user->ID ),
					'name'   => __( 'View orders', 'woocommerce' ),
					'action' => 'view',
				);

				$orders = wc_get_orders(
					array(
						'limit'    => 1,
						'status'   => array_map( 'wc_get_order_status_name', wc_get_is_paid_statuses() ),
						'customer' => array( array( 0, $user->user_email ) ),
					)
				);

				if ( $orders ) {
					$actions['link'] = array(
						'url'    => wp_nonce_url( add_query_arg( 'link_orders', $user->ID ), 'link_orders' ),
						'name'   => __( 'Link previous orders', 'woocommerce' ),
						'action' => 'link',
					);
				}

				$actions = apply_filters( 'woocommerce_admin_user_actions', $actions, $user );

				foreach ( $actions as $action ) {
					printf( '<a class="button tips %s" href="%s" data-tip="%s">%s</a>', esc_attr( $action['action'] ), esc_url( $action['url'] ), esc_attr( $action['name'] ), esc_attr( $action['name'] ) );
				}

				do_action( 'woocommerce_admin_user_actions_end', $user );
				?>
			</p>
			<?php
			$user_actions = ob_get_contents();
			ob_end_clean();

			return $user_actions;
	}

	return '';
}