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

概要

wc_product_post_type_link_product_catフィルタは、WooCommerceで製品のカテゴリリンクをカスタマイズするために使用されます。このフィルタを活用することで、製品カテゴリのパーマリンクを変更したり、特定の条件に基づいたカスタムURL生成を行ったりすることが可能です。以下は、このフィルタがよく使われるシチュエーションの例です。

  1. SEOに最適化されたURL構造の実装
  2. 外部サイトとの連携のための特別なリンク形式の生成
  3. 特定の条件に基づく動的なリンクの生成
  4. 商品のプロモーションのためのカスタムURL構造の設定
  5. カテゴリごとの異なるスタイリングを実現するためのリンク修正
  6. アフィリエイトマーケティング用のトラッキングURLの生成

構文

add_filter('wc_product_post_type_link_product_cat', 'カスタム関数名', 10, 2);

パラメータ

  • string $link – デフォルトの製品カテゴリリンク。
  • WP_Term $term – 対象の製品カテゴリのWP_Termオブジェクト。

戻り値

  • string – 修正された製品カテゴリリンク。

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

  • WooCommerce: 3.0以上
  • WordPress: 4.0以上

サンプルコード

サンプルコード 1: カテゴリリンクにカスタムパラメータを追加する

add_filter('wc_product_post_type_link_product_cat', 'add_custom_parameter_to_product_cat_link', 10, 2);

function add_custom_parameter_to_product_cat_link($link, $term) {
    return $link . '?source=custom';
}

このコードでは、製品カテゴリリンクにカスタムパラメータを追加しています。これにより、トラッキングなどに利用できます。

サンプルコード 2: 言語に基づいたカテゴリリンクを生成する

add_filter('wc_product_post_type_link_product_cat', 'custom_language_product_cat_link', 10, 2);

function custom_language_product_cat_link($link, $term) {
    $lang = get_query_var('lang');
    return str_replace('/category/', "/$lang/category/", $link);
}

このコードは、URLの中の「category」を現在の言語に基づいて修正します。多言語サイトに有用です。

サンプルコード 3: 特定のカテゴリだけに異なるリンク形式を適用する

add_filter('wc_product_post_type_link_product_cat', 'modify_specific_category_link', 10, 2);

function modify_specific_category_link($link, $term) {
    if ($term->slug === 'special-category') {
        return '/special/' . $term->slug;
    }
    return $link;
}

このコードは、スラッグが「special-category」のカテゴリに特別なリンク形式を適用します。

サンプルコード 4: 他のサイトにリダイレクトするリンクを生成する

add_filter('wc_product_post_type_link_product_cat', 'redirect_category_to_external_link', 10, 2);

function redirect_category_to_external_link($link, $term) {
    if ($term->slug === 'external') {
        return 'https://externalwebsite.com/category/' . $term->slug;
    }
    return $link;
}

このサンプルでは、「external」スラッグのカテゴリを外部サイトにリダイレクトさせます。

サンプルコード 5: プロモーションのための特別なスラッグを使用する

add_filter('wc_product_post_type_link_product_cat', 'promotional_category_slug', 10, 2);

function promotional_category_slug($link, $term) {
    return '/promo/' . $term->slug;
}

このコードは、すべての製品カテゴリリンクを「promo」スラッグを含む形式に変換します。

この関数のアクションでの使用可能性

アクション 使用可能性
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

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


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