プラグインWooCommerceのwc_after_products_ending_salesアクションの使用方法・解説

概要

wc_after_products_ending_sales は、WooCommerce プラグイン内で商品がセールの終了時に特定の処理を実行するためのフックです。このアクションは、商品の販売が終了した後に特定の処理を追加したり、カスタマイズしたりする場合に利用されます。典型的な使用例には、以下のようなものがあります。

  1. セール終了後に顧客への通知を送信する。
  2. セール用のカスタムメッセージを表示する。
  3. SEO対策として、セール終了の情報をページに追加する。
  4. 他の商品の特別プロモーションを表示する。
  5. 商品の関連商品やおすすめ商品を強調表示する。
  6. 表示されている商品が販売終了した場合のロジックを追加する。

構文

do_action('wc_after_products_ending_sales', $product);

パラメータ

  • $product (WC_Product): セールが終了した商品オブジェクト。

戻り値

このアクションは、戻り値を持たず、その他の関数を呼び出す副作用を持つことが目的です。

使用可能なプラグインバージョン

  • WooCommerce バージョン: 3.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_action('wc_after_products_ending_sales', 'notify_customers_after_sale', 10, 1);

function notify_customers_after_sale($product) {
    // セールが終了したことを顧客に通知する処理
    $email = get_customer_email($product->get_id());
    wp_mail($email, 'セール終了のお知らせ', 'ご利用いただきありがとうございました。セールが終了しました。');
}

説明: セールが終了した商品に対して、お客様にメール通知を送るサンプルです。

サンプルコード2

add_action('wc_after_products_ending_sales', 'display_after_sale_message', 10, 1);

function display_after_sale_message($product) {
    // セール終了後のメッセージを表示
    echo '<p class="notice">この商品は現在セール終了となっています。</p>';
}

説明: セールが終了したことを知らせるメッセージを商品ページに表示するサンプルです。

サンプルコード3

add_action('wc_after_products_ending_sales', 'log_sale_ending_event', 10, 1);

function log_sale_ending_event($product) {
    // セールが終了したことをログに記録
    error_log('商品ID ' . $product->get_id() . ' のセールが終了しました。');
}

説明: セールが終了した商品の情報をサーバーログに記録するサンプルです。

サンプルコード4

add_action('wc_after_products_ending_sales', 'suggest_related_products', 10, 1);

function suggest_related_products($product) {
    // 関連する商品を表示
    $related_products = wc_get_related_products($product->get_id());
    foreach($related_products as $related_product) {
        echo '<a href="' . get_permalink($related_product) . '">' . get_the_title($related_product) . '</a>';
    }
}

説明: セールが終了した商品の関連商品を表示するサンプルです。

サンプルコード5

add_action('wc_after_products_ending_sales', 'highlight_special_offer', 10, 1);

function highlight_special_offer($product) {
    // 特別オファーを強調表示
    echo '<div class="special-offer">特別オファー:次回購入時に10%オフ!</div>';
}

説明: セール終了後に特別オファーを表示するサンプルです。

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


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