在WooCommerce中将产品名称添加到订单号

时间:2017-11-07 17:28:06

标签: php wordpress woocommerce

我已经搜索了一个解决方案,用订购的产品名称或首字母作为我的订单号的前缀。

我已尝试在functions.php文件中使用函数为我的订单号添加woocommerce_order_number过滤器的前缀,但我无法在订单数组中获取产品名称(&#39) ;受保护的)。

有没有办法在我的函数中使用循环返回它?例如?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

function filter_woocommerce_order_number( $this_get_id, $instance ) { 
    $order = new WC_Order( $this_get_id );
    $items = $order->get_items();
    foreach ( $items as $item ) {
        $product_name = preg_replace('/\s+/', '_', $item['name']);;
        break;
    }
    $new_id = $product_name.'_'.$this_get_id;

    return $new_id; 
}; 

add_filter( 'woocommerce_order_number', 'filter_woocommerce_order_number', 10, 2 );