簡體   English   中英

WooCommerce訂單概述添加帶有訂購產品的列

[英]WooCommerce Order overview add column with ordered products

我正在嘗試改善WooCommerce的“訂單概覽”屏幕,我想添加一列包含訂購產品的欄目。

因此,我可以看到例如以下列:訂單號,總訂單,已訂購產品,地址,注釋,操作

我們已經在互聯網上找到了一些代碼來添加包含產品的列,但是缺少產品SKU。 我目前可以看到的是:

  • 1x產品名稱A
  • 3x產品名稱C

我想看到的是:

  • 1個ARM-002(產品名稱A)
  • 3個ARM-008(產品名稱C)

我已經使用此代碼添加了列:

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 ['sku']之類的方法,但這不起作用,get_sku();也不起作用。 有誰知道解決這個問題的辦法嗎?

首先,如果您要查找產品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 />';

如果在那之后仍然有問題,建議您檢查適用於我的代碼

您是否嘗試過類似

<?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){ ... }        
     }
?>

請注意,自Woocommerce 3.0起,以下代碼行:

echo $term['item_meta']['_qty'][0] .' x '. $term['name'] .'<br />';

不再顯示訂購商品的數量。

如果您使用的是Woocommerce 3.0及更高版本,則必須將其替換為以下代碼行:

echo $term['quantity'] .' x '. $term['name'] .'<br />';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM