تابع wc_update_240_refunds بروزرسانی استرداد ووکامرس به نسخه 2.4.0

تابع ووکامرسی wc_update_240_refunds – بروزرسانی گزینه های استرداد ووکامرس به نسخه 2.4.0
Syntax – سینتکس
wc_update_240_refunds();
Usage – نحوه استفاده
if ( !function_exists( 'wc_update_240_refunds' ) ) {
require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/wc-update-functions.php';
}
// NOTICE! Understand what this does before running.
$result = wc_update_240_refunds();
Defined – محل تعریف
/includes/wc-update-functions.php
function wc_update_240_refunds() {
global $wpdb;
/**
* Refunds for full refunded orders.
* Update fully refunded orders to ensure they have a refund line item so reports add up.
*/
$refunded_orders = get_posts( array(
'posts_per_page' => -1,
'post_type' => 'shop_order',
'post_status' => array( 'wc-refunded' ),
) );
// Ensure emails are disabled during this update routine
remove_all_actions( 'woocommerce_order_status_refunded_notification' );
remove_all_actions( 'woocommerce_order_partially_refunded_notification' );
remove_action( 'woocommerce_order_status_refunded', array( 'WC_Emails', 'send_transactional_email' ) );
remove_action( 'woocommerce_order_partially_refunded', array( 'WC_Emails', 'send_transactional_email' ) );
foreach ( $refunded_orders as $refunded_order ) {
$order_total = get_post_meta( $refunded_order->ID, '_order_total', true );
$refunded_total = $wpdb->get_var( $wpdb->prepare( "
SELECT SUM( postmeta.meta_value )
FROM $wpdb->postmeta AS postmeta
INNER JOIN $wpdb->posts AS posts ON ( posts.post_type = 'shop_order_refund' AND posts.post_parent = %d )
WHERE postmeta.meta_key = '_refund_amount'
AND postmeta.post_id = posts.ID
", $refunded_order->ID ) );
if ( $order_total > $refunded_total ) {
wc_create_refund( array(
'amount' => $order_total - $refunded_total,
'reason' => __( 'Order fully refunded', woocommerce ),
'order_id' => $refunded_order->ID,
'line_items' => array(),
'date' => $refunded_order->post_modified,
) );
}
}
wc_delete_shop_order_transients();
}
versions – نسخه ها
از نسخه : 3.0.2
نسخه فعلی : 3.0.6
دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2
ارسال نظر