WC_Report_Customer_List::column_default() │ public │ WC 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 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> – ' . 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 '';
}