2

WooCommerce の注文一覧画面を改善したいのですが、注文した商品の列を追加したいと思っています。

たとえば、次の列を確認できます: 注文番号、注文合計、注文商品、住所、メモ、アクション

製品の列を追加するためのコードがインターネット上で既に見つかりましたが、製品の SKU がありません。私が現在見ることができるもの:

  • 1x 製品名 A
  • 3x 製品名C

私が見たいもの:

  • 1x ARM-002 (製品名A)
  • 3x 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(); もうまくいきません。この問題の解決策を知っている人はいますか?

4

3 に答える 3

-1

Woocommerce 3.0 の時点で、次のコード行に注意してください。

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

注文した商品の数量が表示されなくなりました。

Woocommerce 3.0 以降を使用している場合は、次のコード行と交換する必要があります。

echo $term['quantity'] .' x '. $term['name'] .'<br />';
于 2017-04-26T11:27:43.967 に答える