概要
woocommerce_order_item_display_meta_key
フィルタは、WooCommerceの注文アイテム表示メタデータのキーをフィルタリングするために使用されます。このフィルタを使用することによって、特定の条件に基づいて表示されるメタデータのキーを変更したり、カスタマイズすることができます。このフィルタは、以下のような機能を実装する際によく使われます。
- 特定のメタデータキーを異なる名前に変更する。
- カスタムメタデータを注文アイテムに追加する。
- プロダクトのバリエーションに基づいて表示メタデータを変更する。
- 特定のユーザーに対して異なるメタデータを表示する。
- クーポン情報を追加するカスタムメタデータを作成する。
- 商品属性に基づくカスタムメタデータのフィルタリング。
構文
add_filter( 'woocommerce_order_item_display_meta_key', 'your_function_name', 10, 2 );
パラメータ
$display_key
(string) – 現在のメタデータキー。$item
(object) – 注文アイテムオブジェクト。
戻り値
- (string) – フィルタリングされたメタデータキー。
使用可能なプラグインバージョン
- WooCommerce: 3.0.0以上
- WordPress: 4.0以上
この関数のアクションでの使用可能性
アクション | 使用可能 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル 1 – メタデータキーの変更
add_filter( 'woocommerce_order_item_display_meta_key', 'change_meta_key_label', 10, 2 );
function change_meta_key_label( $display_key, $item ) {
if ( $display_key === 'カラー' ) {
return '色';
}
return $display_key;
}
説明: 特定のメタデータキーが「カラー」である場合、そのラベルを「色」に変更します。
引用元: https://example.com/sample1
サンプル 2 – カスタムメタデータの追加
add_filter( 'woocommerce_order_item_display_meta_key', 'add_custom_meta_key', 10, 2 );
function add_custom_meta_key( $display_key, $item ) {
if ( $item->get_meta( '_custom_meta', true ) ) {
return 'カスタムメタデータ: ' . $item->get_meta( '_custom_meta', true );
}
return $display_key;
}
説明: 注文アイテムにカスタムメタデータがある場合、その値を新しい表示ラベルと共に表示します。
引用元: https://example.com/sample2
サンプル 3 – 特定のユーザー向けのカスタマイズ
add_filter( 'woocommerce_order_item_display_meta_key', 'conditional_display_for_user', 10, 2 );
function conditional_display_for_user( $display_key, $item ) {
$current_user = wp_get_current_user();
if ( in_array( 'special_role', (array) $current_user->roles ) ) {
return '特別なメタデータ: ' . $item->get_meta( '_special_meta', true );
}
return $display_key;
}
説明: 特定のユーザーロールを持つユーザーに対して、特別なメタデータを表示します。
引用元: https://example.com/sample3
サンプル 4 – プロダクトバリエーションに基づくフィルタ
add_filter( 'woocommerce_order_item_display_meta_key', 'filter_by_variation', 10, 2 );
function filter_by_variation( $display_key, $item ) {
if ( $item->get_product_id() === 123 ) {
return '特別バリエーションメタ: ' . $item->get_meta( '_variation_meta', true );
}
return $display_key;
}
説明: 特定のプロダクトIDに基づいて、異なるメタデータを表示します。
引用元: https://example.com/sample4
サンプル 5 – クーポン情報の追加
add_filter( 'woocommerce_order_item_display_meta_key', 'add_coupon_info', 10, 2 );
function add_coupon_info( $display_key, $item ) {
if ( $item->get_meta( '_used_coupon', true ) ) {
return '使用したクーポン: ' . $item->get_meta( '_used_coupon', true );
}
return $display_key;
}
説明: 注文アイテムに使用されたクーポン情報がある場合、その情報を表示します。
引用元: https://example.com/sample5