WooCommerce order編集画面に商品カスタムフィールド値を表示

- WooCommerce -
2024.04.03
woocommerce/ウーコマース

WordPress管理画面 > WooCommerce > Orders > 各注文編集ページのこの部分に、商品に設定しているカスタムフィールド値(以下例では"管理番号")を表示するカスタマイズ方法です。

woocommerce order編集管理画面で商品カスタムフィールド追加

本記事では、各商品に紐づくカスタムフィールドmy_id(管理番号)を表示する前提で記載します。

  • 以下をfunctions.phpへコピペ
  • 2行目「★管理番号」をご自分の環境に合わせて書き換え
  • 8行目「★my_id」2ヶ所をご自分の環境に合わせて書き換え
functions.phpfunction my_admin_order_item_headers( $order ) {
    echo '<th>★管理番号</th>';
}

function my_admin_order_item_values( $product, $item, $item_id ) {
    if ( $product ) {
        $product_id = $product->get_id();
        $cf = get_post_meta($product_id, '★my_id', true) ? get_post_meta($product_id, '★my_id', true) : "???";
        echo '<td width="1%">' . $cf . '</td>';
    }
}
add_action( 'woocommerce_admin_order_item_headers', 'my_admin_order_item_headers' );
add_action( 'woocommerce_admin_order_item_values', 'my_admin_order_item_values', 9999, 3 );

これで、表示されるようになりました。

ちなみに、もしmy_idというカスタムフィールドに値が設定されていない場合は「???」と出力されるようになっています。

参考businessbloomer.com:WooCommerce: Item Custom Field @ Edit Order Page

↑TOP