WooCommerce order編集画面に商品カスタムフィールド値を表示
- WooCommerce -
2024.04.03
WordPress管理画面 > WooCommerce > Orders > 各注文編集ページのこの部分に、商品に設定しているカスタムフィールド値(以下例では"管理番号")を表示するカスタマイズ方法です。
本記事では、各商品に紐づくカスタムフィールド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