概要
woocommerce_order_item_display_meta_value
フィルタは、WooCommerce で注文アイテムのメタデータの表示をカスタマイズする際に使用されるフックです。このフィルタを利用することで、特定の注文アイテムのメタ情報を変更したり、追加情報を表示することが可能になります。例えば、カスタム商品メタデータの表示や、追加のラベルを付ける際に役立ちます。
よく使われる機能の例
- カスタムメタデータの表示
- 商品属性のカスタマイズ
- 配送オプションの説明の変更
- 注文ごとの特別なメッセージの追加
- 定期購入商品の関連情報の表示
- お客様特有の情報の表示
構文
add_filter('woocommerce_order_item_display_meta_value', 'your_custom_function', 10, 2);
パラメータ
string
$display_value:表示されるメタデータの値WC_Order_Item
$item:アイテムオブジェクト
戻り値
- 変更または追加されたメタデータの表示値
使用可能なバージョン
- WooCommerce: 2.1.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: 特定のメタデータにカスタムラベルを追加する
このサンプルコードは、特定のメタデータにカスタムラベル「Double」 を追加します。
add_filter('woocommerce_order_item_display_meta_value', 'add_custom_label_to_meta', 10, 2);
function add_custom_label_to_meta($display_value, $item) {
if ($item->get_meta('custom_meta_key')) {
$display_value .= ' (Double)';
}
return $display_value;
}
引用元: https://developer.woocommerce.com/
サンプル2: メタデータを大文字に変更する
このサンプルコードは、全てのメタデータを大文字に変換します。
add_filter('woocommerce_order_item_display_meta_value', 'convert_meta_to_uppercase', 10, 2);
function convert_meta_to_uppercase($display_value, $item) {
return strtoupper($display_value);
}
引用元: https://woocommerce.com/
サンプル3: メタデータの前にテキストを追加する
このサンプルコードは、メタデータの前に「注目すべき点: 」というテキストを追加します。
add_filter('woocommerce_order_item_display_meta_value', 'prepend_text_to_meta', 10, 2);
function prepend_text_to_meta($display_value, $item) {
return '注目すべき点: ' . $display_value;
}
引用元: https://wordpress.org/
サンプル4: 商品数に応じてメタデータを変更する
このサンプルコードは、アイテムの数量が2以上の場合に、特別なメッセージを追加します。
add_filter('woocommerce_order_item_display_meta_value', 'add_special_message_based_on_quantity', 10, 2);
function add_special_message_based_on_quantity($display_value, $item) {
if ($item->get_quantity() >= 2) {
$display_value .= ' - お得!';
}
return $display_value;
}
引用元: https://developer.wordpress.org/
サンプル5: 注文アイテムの価格情報を非表示にする
このサンプルコードは、特定の条件でメタデータが「価格」である場合、非表示にします。
add_filter('woocommerce_order_item_display_meta_value', 'hide_price_meta_if_condition', 10, 2);
function hide_price_meta_if_condition($display_value, $item) {
if ($item->get_meta('price') && some_condition()) {
return ''; // 空白を返すことで非表示にする
}
return $display_value;
}
引用元: https://rudrastyh.com/
これらのサンプルコードを参考にして、WooCommerceでの注文アイテムのメタデータをカスタマイズすることができます。