installed plugin Easy Digital Downloads
version 3.1.0.3
This commit is contained in:
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* Order Transition Functions.
|
||||
*
|
||||
* @package EDD
|
||||
* @subpackage Orders
|
||||
* @copyright Copyright (c) 2022, Easy Digital Downloads
|
||||
* @license https://opensource.org/licenses/gpl-2.0.php GNU Public License
|
||||
* @since 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Record order status change
|
||||
*
|
||||
* @since 3.0
|
||||
* @param string $old_status the status of the order prior to this change.
|
||||
* @param string $new_status The new order status.
|
||||
* @param int $order_id the ID number of the order.
|
||||
* @return void
|
||||
*/
|
||||
function edd_record_order_status_change( $old_status, $new_status, $order_id ) {
|
||||
|
||||
// Get the list of statuses so that status in the payment note can be translated.
|
||||
$stati = edd_get_payment_statuses();
|
||||
$old_status = isset( $stati[ $old_status ] ) ? $stati[ $old_status ] : $old_status;
|
||||
$new_status = isset( $stati[ $new_status ] ) ? $stati[ $new_status ] : $new_status;
|
||||
|
||||
$status_change = sprintf(
|
||||
/* translators: %1$s Old order status. %2$s New order status. */
|
||||
__( 'Status changed from %1$s to %2$s', 'easy-digital-downloads' ),
|
||||
$old_status,
|
||||
$new_status
|
||||
);
|
||||
|
||||
edd_insert_payment_note( $order_id, $status_change );
|
||||
}
|
||||
add_action( 'edd_transition_order_status', 'edd_record_order_status_change', 100, 3 );
|
||||
|
||||
/**
|
||||
* Triggers `edd_update_payment_status` hook when an order status changes
|
||||
* for backwards compatibility.
|
||||
*
|
||||
* @since 3.0
|
||||
* @param string $old_status the status of the order prior to this change.
|
||||
* @param string $new_status The new order status.
|
||||
* @param int $order_id the ID number of the order.
|
||||
* @return void
|
||||
*/
|
||||
add_action( 'edd_transition_order_status', function( $old_status, $new_status, $order_id ) {
|
||||
// Trigger the payment status action hook for backwards compatibility.
|
||||
do_action( 'edd_update_payment_status', $order_id, $new_status, $old_status );
|
||||
if ( 'complete' === $old_status ) {
|
||||
// Trigger the action again to account for add-ons listening for status changes from "publish".
|
||||
do_action( 'edd_update_payment_status', $order_id, $new_status, 'publish' );
|
||||
}
|
||||
}, 10, 3 );
|
Reference in New Issue
Block a user