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

概要

woocommerce_get_product_class_include_taxonomies フィルタは、WooCommerceの商品に関連するカスタムクラスを生成する際に使用されます。このフィルタを使用することで、商品クラスに特定のタクソノミー(分類)を含めることができ、デザインや表示をカスタマイズするのに役立ちます。具体的には、次のような機能を実装する際に頻繁に利用されます。

  1. 商品のカテゴリごとに異なるスタイルを適用する。
  2. 特定の製品タイプに基づいて動的なCSSクラスを追加する。
  3. ユーザーが選択したフィルタに応じて商品リストをカスタマイズする。
  4. 特定の製品属性に依存して異なるレイアウトを提供する。
  5. 商品体験を豊かにするために、新しいフィルタオプションを追加する。
  6. SNS共有リンクにおいて特定のCSSクラスを付与して見た目を調整する。

構文

add_filter('woocommerce_get_product_class_include_taxonomies', 'callback_function');

パラメータ

  • array $classes: 商品に関連するクラス名の配列。
  • WC_Product $product: 現在の WooCommerce 商品オブジェクト。

戻り値

  • array: 商品に関連して追加されたクラス名の配列を返します。

使用可能なバージョン

  • 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

add_filter('woocommerce_get_product_class_include_taxonomies', 'add_custom_product_class', 10, 2);
function add_custom_product_class($classes, $product) {
    if (has_term('特定のカテゴリ', 'product_cat', $product->get_id())) {
        $classes[] = 'custom-category-class';
    }
    return $classes;
}

説明: このコードは、特定のカテゴリに属する商品に custom-category-class というクラスを追加します。

サンプルコード 2

add_filter('woocommerce_get_product_class_include_taxonomies', 'include_custom_product_type_class', 10, 2);
function include_custom_product_type_class($classes, $product) {
    if ($product->is_type('simple')) {
        $classes[] = 'simple-product-class';
    }
    return $classes;
}

説明: この例では、シンプルな商品に simple-product-class というクラスを追加しています。

サンプルコード 3

add_filter('woocommerce_get_product_class_include_taxonomies', 'add_attribute_class_to_product', 10, 2);
function add_attribute_class_to_product($classes, $product) {
    if ($product->get_attribute('サイズ') === 'L') {
        $classes[] = 'size-large';
    }
    return $classes;
}

説明: このコードは、サイズ属性が ‘L’ の商品に size-large というクラスを付与します。

サンプルコード 4

add_filter('woocommerce_get_product_class_include_taxonomies', 'add_special_offer_class', 10, 2);
function add_special_offer_class($classes, $product) {
    if ($product->get_sale_price()) {
        $classes[] = 'on-sale';
    }
    return $classes;
}

説明: セール価格が設定されている商品に on-sale というクラスを追加しています。

サンプルコード 5

add_filter('woocommerce_get_product_class_include_taxonomies', 'customize_product_classes', 10, 2);
function customize_product_classes($classes, $product) {
    $rating = $product->get_average_rating();
    if ($rating >= 4) {
        $classes[] = 'high-rated';
    }
    return $classes;
}

説明: 商品の平均評価が4以上の場合に high-rated というクラスが追加されます。

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


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