在Woocommerce管理订单页面中按SKU对订单商品进行排序

时间:2019-02-21 01:39:01

标签: wordpress woocommerce hook-woocommerce orders

如果可能的话,我很沮丧。我只想看到前端对结果进行按SKU排序的结果。不是后端。当您编辑订单时,我希望有一个SKU列,可以按 ASC / DESC 进行排序。是否有可以实现此目的的插件,或者可以在其他栏中添加的代码段?任何帮助将不胜感激。下图显示了我正在谈论的SKU,希望将其移动/复制到自己的列中

enter image description here

2 个答案:

答案 0 :(得分:0)

#include <cstdlib>
#include <iostream>
using namespace std;

int dupe(int arr1[], int nElements)
{
    int value;
    for(int i = 0; i < nElements; i++)
    {
        value = arr1[i];

        for(int j = i + 1; j < nElements; j++)
        {
            if(value == arr[j])
                return value;
        }
    }
}

int main()
{
    int arr1[] = { 5, 1, 6, 3, 1 }, nElements;

    nElements = sizeof(arr1) / sizeof(int);

    cout << dupe(arr1, nElements);
}

答案 1 :(得分:0)

@mujuonly有一个很好的答案。在发现与woocommerce订阅续订发生冲突之前,我一直在使用它。原始订单很好,但续订订单缺少其运送方式。

相反,我选择按sku对购物篮项目进行排序,以便将它们以这种方式保存在数据库中。

add_action( 'woocommerce_cart_loaded_from_session', 'sort_cart_items_sku' );

function sort_cart_items_sku() {

    // READ CART ITEMS
    $products_in_cart = array();
    foreach ( WC()->cart->get_cart_contents() as $key => $item ) {
        $products_in_cart[ $key ] = $item['data']->get_sku();
    }

    // SORT CART ITEMS
    natsort( $products_in_cart );

    // ASSIGN SORTED ITEMS TO CART
    $cart_contents = array();
    foreach ( $products_in_cart as $cart_key => $product_title ) {
        $cart_contents[ $cart_key ] = WC()->cart->cart_contents[ $cart_key ];
    }
    WC()->cart->cart_contents = $cart_contents;

}

信用:https://businessbloomer.com/woocommerce-sort-cart-items-alphabetically-az/