如何在WooCommerce后台订单列表新增VAT及CID信息自定义列
你可以直接在现有已有代码的末尾追加如下代码,即可完成新列的添加:
// 注册VAT/CID自定义列 add_filter( 'manage_shop_order_posts_columns', 'woocommerce_add_billing_extra_column', 99 ); function woocommerce_add_billing_extra_column( $columns ) { // 可修改下方引号内的文字自定义列名 $columns['billing_extra_info'] = 'VAT/CID信息'; return $columns; } // 输出VAT/CID列内容 add_action( 'manage_shop_order_posts_custom_column' , 'woocommerce_show_billing_extra_column', 10, 2 ); function woocommerce_show_billing_extra_column( $column_name, $order_id ) { switch ( $column_name ) { case 'billing_extra_info': $order = wc_get_order( $order_id ); // 获取两个自定义字段的值 $vat = $order->get_meta( 'billing_piva', true ); $cid = $order->get_meta( 'billing_cid', true ); // 按要求格式输出,空值显示横杠 echo 'Vat Number: ' . ( !empty($vat) ? esc_html($vat) : '–' ) . '<br/>'; echo 'CID Number: ' . ( !empty($cid) ? esc_html($cid) : '–' ); break; } }
如果需要调整列的显示顺序,可以修改woocommerce_add_billing_extra_column函数的逻辑,例如将列插入到订单总金额列后方:
function woocommerce_add_billing_extra_column( $columns ) { $new_columns = []; foreach( $columns as $key => $name ) { $new_columns[ $key ] = $name; // 检测到总金额列时,在后面插入我们的自定义列 if( $key == 'order_total' ) { $new_columns['billing_extra_info'] = 'VAT/CID信息'; } } return $new_columns; }
内容的提问来源于stack exchange,提问作者Jacopo Sant
相关产品推荐
相关产品推荐

