我试图改进WooCommerce的订单概览屏幕,我想添加一个包含订购产品的专栏。
所以我可以看到这样的列: 订单#,订单总数,订购产品,地址,备注,行动
我们已经在互联网上找到了一些代码来添加产品列,但它缺少产品SKU。我目前可以看到:
我想看到的内容:
我已使用此代码添加列:
add_filter('manage_edit-shop_order_columns', 'add_ordered_products_column', 11);
function add_ordered_products_column($columns) {
$columns['order_products'] = "Ordered products";
return $columns;
}
这个用于添加列的内容:
add_action( 'manage_shop_order_posts_custom_column' , 'add_ordered_products_column_content', 11, 2 );
function add_ordered_products_column_content( $column ) {
global $post, $woocommerce, $the_order;
switch ( $column ) {
case 'order_products' :
$terms = $the_order->get_items();
if ( is_array( $terms ) ) {
foreach($terms as $term) {
echo $term['item_meta']['_qty'][0] .' x '. $term['name'] .'<br />';
}
}
else {
_e( 'Unable to get products', 'woocommerce' );
}
break;
}
}
我想使用像$ term [&#39; sku&#39;]这样的东西,但这不起作用,也不是get_sku();. 谁知道这个问题的解决方案?
答案 0 :(得分:0)
首先,如果您正在寻找产品SKU,请替换以下代码:
echo $term['item_meta']['_qty'][0] .' x '. $term['name'] .'<br />';
用这个:
$sku = ( $sku = get_post_meta( $term['product_id'], '_sku', true ) ) ? $sku : '';
echo $term['quantity'] . ' ' . $sku . ' x ' . $term['name'] .'<br />';
如果之后仍有问题,我建议您查看适用于我的this code。
答案 1 :(得分:-1)
您是否尝试过类似
的内容<?php echo ( $sku = $_product->get_sku() ) ? $sku : __( 'n/a', 'woocommerce' ); ?>
哪里
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
if( necessary conditionals goes here){ ... }
}
?>
答案 2 :(得分:-1)
请注意Woocommerce 3.0中的这行代码:
echo $term['item_meta']['_qty'][0] .' x '. $term['name'] .'<br />';
不再显示订购商品的数量。
如果您使用的是Woocommerce 3.0及更高版本,则需要为此行代码进行交换:
echo $term['quantity'] .' x '. $term['name'] .'<br />';