在WordPress的WooCommerce订单列表中添加自定义列,可以通过编辑WordPress的functions.php文件或使用自定义的插件来实现。以下是详细的步骤和示例代码,帮助你在WooCommerce订单列表中添加自定义列。
1. 编辑functions.php文件
首先,你需要通过编辑WordPress主题的functions.php
文件来添加自定义列。以下是一个示例,展示如何在订单列表中添加两个自定义列:“产品名称”和“产品数量”。
步骤一:添加自定义列标题
在你的主题的functions.php
文件中,添加以下代码来定义新的列标题:
function custom_wc_order_columns( $columns ) { $new_columns = $columns; $new_columns['product_name'] = __( 'Product Name', 'textdomain' ); $new_columns['product_quantity'] = __( 'Product Quantity', 'textdomain' ); return $new_columns; } add_filter( 'manage_edit-shop_order_columns', 'custom_wc_order_columns' );
注意:'textdomain'
是你的文本域,如果你没有定义文本域,可以将其替换为空字符串''
。
步骤二:填充自定义列内容
接下来,添加以下代码来填充自定义列的内容:
function custom_wc_order_column_content( $column ) { global $post; if ( empty( $post ) || !is_a( $post, 'WP_Post' ) ) { return; } $order = wc_get_order( $post->ID ); if ( 'product_name' === $column ) { $product_names = []; foreach ( $order->get_items() as $item_id => $item ) { $product_names[] = $item->get_name(); } echo implode( '<br>', $product_names ); } elseif ( 'product_quantity' === $column ) { $product_quantities = []; foreach ( $order->get_items() as $item_id => $item ) { $product_quantities[] = $item->get_quantity(); } echo implode( '<br>', $product_quantities ); } } add_action( 'manage_shop_order_posts_custom_column', 'custom_wc_order_column_content' );
0 个评论