>백엔드 개발 >PHP 튜토리얼 >내 WooCommerce 관리자 주문 목록에 사용자 정의 열을 어떻게 추가할 수 있나요?

내 WooCommerce 관리자 주문 목록에 사용자 정의 열을 어떻게 추가할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-21 01:59:13819검색

How Can I Add Custom Columns to My WooCommerce Admin Order List?

WooCommerce 관리자 주문 목록에 사용자 정의 열 추가

WooCommerce에서는 관련 항목을 표시하는 추가 열을 포함하도록 관리자 주문 목록 페이지를 사용자 정의할 수 있습니다. 주문에 대한 정보.

주문에 열 추가 목록

WooCommerce의 주문 목록에 사용자 정의 열을 추가하려면 템플릿 파일을 수정해야 합니다.

/wp-content/plugins/woocommerce/includes/admin/views/html-order-list.php

manage_shop_order_posts_custom_column 함수 내에서 콘텐츠를 정의할 수 있습니다 $column 매개변수를 기반으로 사용자 정의 열을 만듭니다. 예를 들어 주문 중량을 표시하는 열을 추가하려면 다음 코드를 사용할 수 있습니다.

case 'weight':
    $order = wc_get_order($post_id);
    $weight = $order->get_weight();
    echo $weight . ' kg';
    break;

특정 위치에 열 추가

위치를 지정할 수 있습니다. Manage_edit-shop_order_columns 필터를 수정하여 맞춤 열을 수정하세요. 이 필터를 사용하면 기존 열의 순서를 바꾸고 특정 위치에 사용자 정의 열을 삽입할 수 있습니다.

예를 들어 "작업" 열 앞에 "내 열"이라는 사용자 정의 열을 삽입하려면 다음을 사용합니다. 코드:

add_filter('manage_edit-shop_order_columns', 'reorder_admin_order_columns');

function reorder_admin_order_columns($columns) {
    $reordered_columns = array();

    foreach ($columns as $key => $column) {
        $reordered_columns[$key] = $column;
        if ($key == 'order_status') {
            $reordered_columns['my-column'] = 'My Column';
        }
    }

    return $reordered_columns;
}

고성능 주문 보관(HPOS)

WooCommerce에서 8.2에서는 신규 설치 시 HPOS(High-Performance Order Storage)가 기본적으로 활성화됩니다. 이를 위해서는 사용자 정의 열을 추가하는 데 약간 다른 접근 방식이 필요합니다.

add_filter('manage_woocommerce_page_wc-orders_columns', 'reorder_admin_order_hpos_columns');

function reorder_admin_order_hpos_columns($columns) {
    $reordered_columns = array();

    foreach ($columns as $key => $column) {
        $reordered_columns[$key] = $column;
        if ($key == 'order_status') {
            $reordered_columns['my-column'] = 'My Column';
        }
    }

    return $reordered_columns;
}

add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_admin_order_hpos_column_content', 10, 2);

function display_admin_order_hpos_column_content($column, $order) {
    switch ($column) {
        case 'my-column':
            // Get custom order metadata
            $value = $order->get_meta('_the_meta_key');
            if (!empty($value)) {
                echo $value;
            } else {
                echo '<small>(<em>no value</em>)</small>';
            }
            break;
    }
}

이러한 코드 변경을 통해 관리자 주문 목록 페이지에 사용자 정의 열을 추가하여 주문 관리에 대한 추가적인 통찰력과 유연성을 제공할 수 있습니다.

위 내용은 내 WooCommerce 관리자 주문 목록에 사용자 정의 열을 어떻게 추가할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.