久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 Woocommerce 中按 SKU 對訂單項進行排序

Sorting order items by SKU in Woocommerce(在 Woocommerce 中按 SKU 對訂單項進行排序)
本文介紹了在 Woocommerce 中按 SKU 對訂單項進行排序的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試在 Woocommerce通過電子郵件中的訂單內的 sku 訂購產品.

我對以下代碼沒有任何運氣.

I have not had any luck with the following code.

需要幫助嗎?從現在開始謝謝!

Some help? Thanks since now!

add_filter( 'woocommerce_order_get_items', function( $items, $order ) {
    uasort( $items,
        function( $a, $b ) {
            return strnatcmp( $a['_sku'], $b['_sku'] );
        }
    );
    return $items;
}, 10, 2 );

樣本排序結果:

  • INFSTRAW I
  • NFMUFFIN
  • INFFLORES
  • INFTAFOR
  • INFTAPINK
  • CTEPINK4
  • CTECAKE4
  • INFCHOCO
  • UCUBTOMA

推薦答案

2020 年 7 月更新

方法如下:

add_filter( 'woocommerce_order_get_items', 'filter_order_get_items_by_sku', 10, 3 );
function filter_order_get_items_by_sku( $items, $order, $types ) {
    if( count($items) > 1 ) {
        $item_skus = $sorted_items = array();

        // Loop through order line items
        foreach( $items as $items_id => $item ){
            // Check items type: for versions before Woocommerce 3.3
            if( $item->is_type('line_item') && method_exists( $item, 'get_product' ) ){
                $product = $item->get_product(); // Get the product Object
                if( is_a( $product, 'WC_Product' ) ) {
                    $item_skus[$product->get_sku()] = $items_id;
                }
            }
        }

        // Only for line items when our sku array is not empty
        if( ! empty($item_skus) ) {
            // Sorting in ASC order based on SKUs;
            ksort($item_skus); // or use krsort() for DESC order

            // Loop through sorted $item_skus array
            foreach( $item_skus as $sku => $item_id ){
                // Set items in the correct order
                $sorted_items[$item_id] = $items[$item_id];
            }
            $items = $sorted_items;
        }
    }
    return $items;
}

代碼位于活動子主題(或活動主題)的 function.php 文件中.經測試有效.

Code goes in function.php file of your active child theme (or active theme). Tested and works.

這將在后端和前端訂單以及電子郵件通知中按 SKU 訂單 ASC 對項目進行排序

This will sort items by sku order ASC on backend and frontend orders and in email notifications


在將數據保存到數據庫之前下訂單后也對項目進行排序,這可能是一種更好的方法.


Also sorting items once the order is placed before data is saved to the database, could be a better way to do it.

這篇關于在 Woocommerce 中按 SKU 對訂單項進行排序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作為類名,因為它是保留的 Cake 2.2.x)
Session is lost after an OAuth redirect(OAuth 重定向后會話丟失)
Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分頁排序)
CakePHP Shared core for multiple apps(CakePHP 多個應用程序的共享核心)
Login [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登錄 [ Auth-identify() ] 始終為 false)
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命錯誤:允許的內存大小為 134217728 字節已用盡(嘗試分配 87 字節))
主站蜘蛛池模板: 日韩精品成人免费观看视频 | 婷婷久久五月 | 天堂精品| 欧美久久精品一级c片 | 天天干天天爱天天操 | 久久久日韩精品一区二区三区 | 久久久精品一区 | 国产99久久久国产精品 | 亚洲视频第一页 | 精品久久网 | 日韩a在线 | 欧美日韩在线一区 | 日韩蜜桃视频 | 亚洲精品福利在线 | 日韩欧美高清 | 狠狠操天天操 | 久久久久中文字幕 | 999久久久精品| 国产麻豆乱码精品一区二区三区 | 91在线视频一区 | 涩涩视频网站在线观看 | 亚洲欧美日韩精品久久亚洲区 | 亚洲一区二区三区免费视频 | 成人在线视频免费观看 | 国产精品1区2区 | 成人一区二区三区在线观看 | 亚洲成av片人久久久 | 你懂的av| a国产一区二区免费入口 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产98色在线 | 日韩 | 欧美激情99 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 久久人人网 | 日韩一区二区三区视频 | 免费国产视频在线观看 | 亚洲视频欧美视频 | 91久久精品一区二区二区 | 91成人精品 | 日韩精品三区 | 99精品一级欧美片免费播放 |