Μετάβαση στο περιεχόμενο

Early-bird άδεια εφ’ όρου ζωής: $199 εφάπαξ, μόνο για τους πρώτους 200 αγοραστές. Δείτε την προσφορά

woocommerce_order_status_completed

Εκτελείται όταν η κατάσταση μιας παραγγελίας γίνει Ολοκληρώθηκε. Για εργασίες που πρέπει να γίνουν αφού εκτελεστεί η παραγγελία.

  • Τύπος Action
  • Προέλευση WooCommerce
  • Από την έκδοση 1.0.0
  • Καλείται στο includes/class-wc-order.php

Πότε εκτελείται

Είναι η μορφή 'completed' της δυναμικής ενέργειας woocommerce_order_status_{status}. Το WooCommerce την εκτελεί όταν μια παραγγελία αποθηκεύεται με νέα κατάσταση Ολοκληρώθηκε, είτε αυτό γίνει στη διαχείριση, είτε μαζικά, είτε από τρόπο πληρωμής ή plugin.

Εκτελείται αφού αποθηκευτεί η νέα κατάσταση και πριν προστεθεί η σημείωση παραγγελίας για την αλλαγή. Τη χρησιμοποιεί και το ίδιο το WooCommerce, για παράδειγμα για να στείλει το email ολοκληρωμένης παραγγελίας.

Παράμετροι

Παράμετροι
$order_idint ID της παραγγελίας.
$orderWC_Order Το αντικείμενο της παραγγελίας.
$status_transitionarray Στοιχεία της αλλαγής κατάστασης: 'from', 'to', 'note' και 'manual'.

Παράδειγμα: Μέτρηση ολοκληρωμένων παραγγελιών ανά πελάτη

PHP
add_action( 'woocommerce_order_status_completed', function ( $order_id, $order ) {
	$customer_id = $order->get_customer_id();
	if ( ! $customer_id || $order->get_meta( '_my_completion_counted' ) ) {
		return;
	}
	$count = (int) get_user_meta( $customer_id, '_my_completed_orders', true );
	update_user_meta( $customer_id, '_my_completed_orders', $count + 1 );
	$order->update_meta_data( '_my_completion_counted', 'yes' );
	$order->save_meta_data();
}, 10, 2 );

Καλό να ξέρετε

  • Εκτελείται ξανά αν μια παραγγελία φύγει από την κατάσταση Ολοκληρώθηκε και επιστρέψει, οπότε προστατέψτε τις εργασίες μίας φοράς με meta της παραγγελίας, όπως στο παράδειγμα.
  • Οι παραγγελίες επισκεπτών δεν έχουν ID πελάτη, οπότε ελέγξτε το πριν αποθηκεύσετε κάτι σε χρήστη.
  • Όταν προσθέτετε την ενέργεια, ορίστε 2 ή 3 αποδεκτά ορίσματα, αλλιώς θα πάρετε μόνο το $order_id.

Μεταφέρετε τα snippets σας μέσα σε ένα απόγευμα.

Η εισαγωγή δεν αλλάζει τίποτα μέχρι να κάνετε τη μετάβαση, και τα παλιά σας shortcodes συνεχίζουν να λειτουργούν.