WooCommerce 管理者の注文リストにカスタム列を追加するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-21 01:59:13
オリジナル
734 人が閲覧しました

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 フィルターを変更してカスタム列を変更します。このフィルタを使用すると、既存の列の順序を変更し、特定の場所にカスタム列を挿入できます。

たとえば、「Actions」列の前に「My Column」という名前のカスタム列を挿入するには、次のコマンドを使用します。コード:

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;
}
ログイン後にコピー

High-Performance Order Storage (HPOS)

WooCommerce 8.2 以降、新規インストールでは High-Performance Order Storage (HPOS) がデフォルトで有効になります。 。これには、カスタム列を追加するための少し異なるアプローチが必要です。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート