概要
woocommerce_order_item_meta_end
は、WooCommerce の注文アイテムのメタ情報が表示される直後に実行されるフックです。このアクションは特に、以下のような機能を実装する際に役立ちます。
- 注文アイテムのカスタムフィールドの追加
- アイテムに関連する追加情報の表示
- 注文アイテムのスタイリング変更
- 注文詳細ページでのロジックの追加
- 管理画面での表示情報の拡張
- アイテムごとに異なるカスタマイズの適用
構文
do_action( 'woocommerce_order_item_meta_end', $item_id, $item, $order, $is_meta );
パラメータ
$item_id
: 注文アイテムのID$item
: 注文アイテムのオブジェクト$order
: 注文のオブジェクト$is_meta
: メタ情報かどうかのフラグ
戻り値
このアクションは値を返さず、純粋にフックとして機能します。
使用可能なプラグインWooCommerceのバージョン
- WooCommerce 2.1.0以降
WordPressのバージョン
- 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_action( 'woocommerce_order_item_meta_end', 'add_custom_message', 10, 4 );
function add_custom_message( $item_id, $item, $order, $is_meta ) {
echo '<p>特別オファー!次回のご注文に使えるクーポンをお届けします。</p>';
}
サンプルコード 2: カスタムフィールドの表示
この例では、カスタムフィールドの値を注文アイテムのメタ情報の後に表示します。
add_action( 'woocommerce_order_item_meta_end', 'display_custom_field', 10, 4 );
function display_custom_field( $item_id, $item, $order, $is_meta ) {
$custom_value = get_post_meta( $item_id, '_custom_field', true );
if ( $custom_value ) {
echo '<p>カスタムフィールドの値: ' . esc_html( $custom_value ) . '</p>';
}
}
サンプルコード 3: アイテムに画像を追加
このサンプルは、注文アイテムの下に関連する画像を追加します。
add_action( 'woocommerce_order_item_meta_end', 'add_item_image', 10, 4 );
function add_item_image( $item_id, $item, $order, $is_meta ) {
$image_url = wp_get_attachment_url( $item->get_product_id() );
if ( $image_url ) {
echo '<img src="' . esc_url( $image_url ) . '" alt="商品画像" style="max-width: 100px;"/>';
}
}
サンプルコード 4: スタイルを適用
このコードでは、特定のスタイルを注文アイテムに適用しています。
add_action( 'woocommerce_order_item_meta_end', 'apply_custom_styles', 10, 4 );
function apply_custom_styles( $item_id, $item, $order, $is_meta ) {
echo '<style>.custom-style { color: #FF0000; font-weight: bold; }</style>';
echo '<p class="custom-style">この商品は特別な製品です!</p>';
}
サンプルコード 5: ロジックの追加
このサンプルでは、特定の条件に基づいてメッセージを表示します。
add_action( 'woocommerce_order_item_meta_end', 'conditional_message', 10, 4 );
function conditional_message( $item_id, $item, $order, $is_meta ) {
if ( $item->get_total() > 100 ) {
echo '<p>お祝い!100円以上のお買い上げありがとうございます。</p>';
}
}
これらのサンプルは、woocommerce_order_item_meta_end
アクションを活用して様々なカスタマイズを行う方法を示しています。それぞれのコードは特定の目的のために設計されており、多様な機能を持っています。