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

概要

woocommerce_before_subcategory_titleは、WooCommerceでカテゴリのタイトルが表示される前に実行されるフックです。このアクションは、以下のような機能を実装する際によく使われます。

  1. サブカテゴリのカスタムCSSクラスを追加する。
  2. 特定の条件に基づいてサブカテゴリの前にテキストを挿入する。
  3. サブカテゴリのタイトルのスタイルを変更する。
  4. アイコンやイメージをサブカテゴリのタイトルの前に追加する。
  5. 訪問者に対して特定のプロモーションメッセージを表示する。
  6. サブカテゴリの出力にカスタムHTMLを追加する。

このアクションに関する構文は次の通りです。

do_action( 'woocommerce_before_subcategory_title', $category );

パラメータ

  • $category: サブカテゴリのオブジェクト(WC_Term)。

戻り値

  • このアクション自体は戻り値を持ちませんが、フックを利用して出力に変更を加えることができます。

使用可能なバージョン

  • 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( 'woocommerce_before_subcategory_title', 'add_custom_css_class' );

function add_custom_css_class( $category ) {
    echo '<div class="custom-class">カスタムクラス</div>';
}

このサンプルコードは、各サブカテゴリのタイトルの前に「カスタムクラス」として指定された <div> 要素を追加します。

サンプルコード 2

add_action( 'woocommerce_before_subcategory_title', 'insert_promotional_message' );

function insert_promotional_message( $category ) {
    if ( $category->slug === 'sale' ) {
        echo '<p>セール中のカテゴリです!</p>';
    }
}

このコードは、特定のスラッグ(ここでは「sale」)を持つサブカテゴリのタイトルの前にプロモーションメッセージを表示します。

サンプルコード 3

add_action( 'woocommerce_before_subcategory_title', 'add_category_icon' );

function add_category_icon( $category ) {
    echo '<img src="path/to/icon.png" alt="' . esc_attr( $category->name ) . ' アイコン" />';
}

このサンプルでは、各サブカテゴリのタイトルの前にアイコン画像を追加します。

サンプルコード 4

add_action( 'woocommerce_before_subcategory_title', 'custom_output_before_subcategory_title' );

function custom_output_before_subcategory_title( $category ) {
    echo '<h2>' . esc_html( $category->name ) . ' - 特別オファー</h2>';
}

このコードは、サブカテゴリのタイトルの前に特別オファーの見出しを追加します。

サンプルコード 5

add_action( 'woocommerce_before_subcategory_title', 'style_subcategory_title' );

function style_subcategory_title( $category ) {
    echo '<style>.subcategory-title { color: red; }</style>';
}

このサンプルでは、サブカテゴリのタイトルの表示スタイルを変更するためのCSSを追加しています。

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


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