WooCommerce - 如何在管理订单页面中将列添加到产品列表
WooCommerce - How to add column to product list in admin order page
我正在尝试向管理订单页面添加一列产品列表。
像图片上的东西:
当前版本的 WooCommerce,没有简单的方法。
这是负责该部分的代码。
<tbody id="order_line_items">
<?php
foreach ( $line_items as $item_id => $item ) {
do_action( 'woocommerce_before_order_item_' . $item->get_type() . '_html', $item_id, $item, $order );
include( 'html-order-item.php' );
do_action( 'woocommerce_order_item_' . $item->get_type() . '_html', $item_id, $item, $order );
}
do_action( 'woocommerce_admin_order_items_after_line_items', $order->get_id() );
?>
</tbody>
特别是这一行:include( 'html-order-item.php' );
。
其中,如果您查看 html-order-item.php
的内容,则无法添加另一个 td
.
不过,我可以建议您在 foreach
循环中使用上述两个操作之一。用它来为您的数据放置一个 td
标签。
然后使用 jQuery 将 td
转移到它应该在的位置。
你可以试试这个代码
add_action('woocommerce_admin_order_item_headers', 'my_woocommerce_admin_order_item_headers');
function my_woocommerce_admin_order_item_headers() {
$column_name = 'TEXT';
echo '<th>' . $column_name . '</th>';
}
add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {
$value = 50;
if($item['type']=="line_item")
echo '<td>' . $value . '</td>';
}
我正在尝试向管理订单页面添加一列产品列表。
像图片上的东西:
当前版本的 WooCommerce,没有简单的方法。
这是负责该部分的代码。
<tbody id="order_line_items">
<?php
foreach ( $line_items as $item_id => $item ) {
do_action( 'woocommerce_before_order_item_' . $item->get_type() . '_html', $item_id, $item, $order );
include( 'html-order-item.php' );
do_action( 'woocommerce_order_item_' . $item->get_type() . '_html', $item_id, $item, $order );
}
do_action( 'woocommerce_admin_order_items_after_line_items', $order->get_id() );
?>
</tbody>
特别是这一行:include( 'html-order-item.php' );
。
其中,如果您查看 html-order-item.php
的内容,则无法添加另一个 td
.
不过,我可以建议您在 foreach
循环中使用上述两个操作之一。用它来为您的数据放置一个 td
标签。
然后使用 jQuery 将 td
转移到它应该在的位置。
你可以试试这个代码
add_action('woocommerce_admin_order_item_headers', 'my_woocommerce_admin_order_item_headers');
function my_woocommerce_admin_order_item_headers() {
$column_name = 'TEXT';
echo '<th>' . $column_name . '</th>';
}
add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {
$value = 50;
if($item['type']=="line_item")
echo '<td>' . $value . '</td>';
}