add order payment details to order preview
This commit is contained in:
@@ -9,6 +9,31 @@ class Wiaas_Admin_Orders {
|
||||
add_action( 'manage_shop_order_posts_custom_column', array(__CLASS__, 'add_custom_columns_content') );
|
||||
|
||||
add_filter( 'woocommerce_admin_order_preview_get_order_details', array(__CLASS__, 'add_custom_data_to_order_preview') );
|
||||
|
||||
add_filter( 'woocommerce_admin_order_preview_line_items', array(__CLASS__, 'remove_simple_items_from_preview'));
|
||||
|
||||
|
||||
add_action('init', array(__CLASS__, 'init_admin'));
|
||||
|
||||
}
|
||||
|
||||
public static function init_admin(){
|
||||
$current_user = wp_get_current_user();
|
||||
$role = $current_user->roles[0];
|
||||
$is_admin = $role === 'administrator';
|
||||
|
||||
if ($is_admin){
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_columns', array(__CLASS__, 'customize_order_preview_columns'));
|
||||
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_payment_type', array(__CLASS__, 'fill_in_payment_type'), 10, 2);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_services_extra', array(__CLASS__, 'fill_in_services_extra'), 10, 4);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_services_contract_period', array(__CLASS__, 'fill_in_services_contract_period'), 10, 2);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_max_contract_period', array(__CLASS__, 'fill_in_max_contract_period'), 10, 2);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_period_unit', array(__CLASS__, 'fill_in_period_unit'), 10, 2);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_recurrent_extra', array(__CLASS__, 'fill_in_recurrent_extra'), 10, 4);
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_pay_period', array(__CLASS__, 'fill_in_pay_period'), 10, 2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static function add_additional_columns_to_orders_screen( $columns ){
|
||||
@@ -54,6 +79,65 @@ class Wiaas_Admin_Orders {
|
||||
return $order;
|
||||
}
|
||||
|
||||
public static function remove_simple_items_from_preview( $order_items){
|
||||
|
||||
$items = array();
|
||||
|
||||
foreach ($order_items as $order_item) {
|
||||
if (isset($order_item['wiaas_standard_package'])) {
|
||||
$items[] = $order_item;
|
||||
}
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
public static function customize_order_preview_columns( $columns ){
|
||||
|
||||
unset($columns['total']);
|
||||
|
||||
$columns['payment_type'] = __( 'Payment type', 'wiaas' );
|
||||
$columns['services_extra'] = __( 'Services extra', 'wiaas');
|
||||
$columns['recurrent_extra'] = __( 'Recurrent extra', 'wiaas');
|
||||
$columns['services_contract_period'] = __( 'Contract period', 'wiaas');
|
||||
$columns['max_contract_period'] = __( 'Maximum contract period', 'wiaas');
|
||||
$columns['pay_period'] = __( 'Pay period', 'wiaas');
|
||||
$columns['period_unit'] = __( 'Period unit', 'wiaas');
|
||||
|
||||
$columns['total'] = __( 'Total', 'woocommerce');
|
||||
|
||||
return $columns;
|
||||
|
||||
}
|
||||
|
||||
public static function fill_in_payment_type ( $empty , $item){
|
||||
return $item->get_meta('_wiaas_payment_type');
|
||||
}
|
||||
|
||||
public static function fill_in_services_extra ($empty, $item, $item_id, $order){
|
||||
return wc_price( $item->get_meta('_wiaas_services_extra'), array( 'currency' => $order->get_currency() ) );
|
||||
}
|
||||
|
||||
public static function fill_in_services_contract_period($empty, $item){
|
||||
return $item->get_meta('_wiaas_service_contract_period');
|
||||
}
|
||||
|
||||
public static function fill_in_max_contract_period($empty, $item){
|
||||
return $item->get_meta('_wiaas_max_contract_period');
|
||||
}
|
||||
|
||||
public static function fill_in_period_unit ($empty, $item){
|
||||
return $item->get_meta('_wiaas_period_unit');
|
||||
}
|
||||
|
||||
public static function fill_in_recurrent_extra($empty, $item, $item_id, $order){
|
||||
return wc_price( $item->get_meta('_wiaas_recurrent_extra'), array( 'currency' => $order->get_currency() ) );
|
||||
}
|
||||
|
||||
public static function fill_in_pay_period($empty, $item){
|
||||
return $item->get_meta('_wiaas_pay_period');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -358,7 +358,7 @@ class WC_Admin_List_Table_Orders extends Wiaas_Custom_WC_Admin_List_Table {
|
||||
<div class="wc-order-preview-address">
|
||||
<h2><?php esc_html_e( 'Billing details', 'woocommerce' ); ?></h2>
|
||||
{{{ data.formatted_billing_address }}}
|
||||
|
||||
|
||||
<# if ( data.data.billing.email ) { #>
|
||||
<strong><?php esc_html_e( 'Email', 'woocommerce' ); ?></strong>
|
||||
<a href="mailto:{{ data.data.billing.email }}">{{ data.data.billing.email }}</a>
|
||||
@@ -505,14 +505,7 @@ class WC_Admin_List_Table_Orders extends Wiaas_Custom_WC_Admin_List_Table {
|
||||
$html .= wc_price( $item->get_total_tax(), array( 'currency' => $order->get_currency() ) );
|
||||
break;
|
||||
case 'total':
|
||||
$item_price = $item->get_meta('_wiaas_product_price');
|
||||
if ($item_price){
|
||||
$total_price = $item->get_quantity() * floatval($item_price);
|
||||
}else{
|
||||
$total_price = $item->get_total();
|
||||
}
|
||||
|
||||
$html .= wc_price( $total_price , array( 'currency' => $order->get_currency() ) );
|
||||
$html .= wc_price( $item->get_total(), array( 'currency' => $order->get_currency() ) );
|
||||
break;
|
||||
default:
|
||||
$html .= apply_filters( 'woocommerce_admin_order_preview_line_item_column_' . sanitize_key( $column ), '', $item, $item_id, $order );
|
||||
|
||||
Reference in New Issue
Block a user