プラグインWooCommerceのwoocommerce_order_item_display_meta_valueフィルタの使用方法・解説

概要

woocommerce_order_item_display_meta_value フィルタは、WooCommerce で注文アイテムのメタデータの表示をカスタマイズする際に使用されるフックです。このフィルタを利用することで、特定の注文アイテムのメタ情報を変更したり、追加情報を表示することが可能になります。例えば、カスタム商品メタデータの表示や、追加のラベルを付ける際に役立ちます。

よく使われる機能の例

  1. カスタムメタデータの表示
  2. 商品属性のカスタマイズ
  3. 配送オプションの説明の変更
  4. 注文ごとの特別なメッセージの追加
  5. 定期購入商品の関連情報の表示
  6. お客様特有の情報の表示

構文

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での注文アイテムのメタデータをカスタマイズすることができます。

この関数について質問する


上の計算式の答えを入力してください