如何在 WooCommerce 中為所有未來的訂單號添加前綴?我目前正在使用以下代碼段:
add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );
function change_woocommerce_order_number( $order_id ) {
$prefix = 'MTN-';
$new_order_id = $prefix . $order_id . $suffix;
return $new_order_id;
}
但它也為所有現有訂單號添加前綴。有什么建議嗎?
uj5u.com熱心網友回復:
首先,您可以使用woocommerce_checkout_create_order操作掛鉤為新訂單添加自定義元資料:
function action_woocommerce_checkout_create_order( $order, $data ) {
// Settings
$meta_key = '_your_custom_meta_key';
$value = true;
// Save
$order->update_meta_data( $meta_key, $value );
}
add_action( 'woocommerce_checkout_create_order', 'action_woocommerce_checkout_create_order', 10, 2 );
隨后,前綴將僅添加到元資料可用的訂單中:
function filter_woocommerce_order_number( $order_number, $order ) {
// Get meta
$value = $order->get_meta( '_your_custom_meta_key' );
// Prefix
$prefix = 'MTN-';
// When meta NOT empty AND true
if ( ! empty ( $value ) && $value == true ) {
// Add prefix
$order_number = $prefix . $order_number;
}
return $order_number;
}
add_filter( 'woocommerce_order_number', 'filter_woocommerce_order_number', 10, 2 );
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511129.html
標籤:phpWordPresswoocommerce钩woocommerce
上一篇:如何在php中為腳本添加屬性
