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

概要

woocommerce_downloadable_product_name フィルタは、WooCommerceプラグインでダウンロード可能な商品の名前を変更するために使用されます。このフィルタを利用することで、顧客に表示されるダウンロードコンテンツの名前をカスタマイズすることができます。主な使用例としては以下のようなシナリオがあります。

  1. カスタムダウンロード名の追加
  2. 特定の条件に基づいての名前の変更
  3. 多言語対応のための名前の変更
  4. 購入者向けの特別なメッセージの追加
  5. SEO対策のための商品名の最適化
  6. ブランド名の追加などのカスタマイズ

このフィルタは、WooCommerceのバージョン 3.x 以上、かつWordPress 5.x 以上で利用可能です。

構文

add_filter( 'woocommerce_downloadable_product_name', 'your_custom_function', 10, 2 );

パラメータ

  • woocommerce_downloadable_product_name: フィルターフックの名前
  • your_custom_function: 自作のコールバック関数名
  • 10: 優先度(デフォルト値は10)
  • 2: コールバック関数に渡す引数の数

戻り値

このフィルタは、カスタマイズされたダウンロード商品名を返します。

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

アクション 使用可能性
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_downloadable_product_name', 'add_text_to_downloadable_product_name', 10, 2 );

function add_text_to_downloadable_product_name( $name, $product ) {
    return $name . ' (ダウンロード版)';
}

サンプルコード 2: 特定の条件に基づいての名前の変更

このコードは、商品が特定のカテゴリーに属する場合にダウンロード名を変更します。

add_filter( 'woocommerce_downloadable_product_name', 'conditional_downloadable_product_name', 10, 2 );

function conditional_downloadable_product_name( $name, $product ) {
    if ( has_term( 'special-category', 'product_cat', $product->get_id() ) ) {
        return '特別版: ' . $name;
    }
    return $name;
}

サンプルコード 3: 多言語対応のための名前の変更

このコードは、WPMLプラグインを使用している場合に言語に応じてダウンロード名を変更します。

add_filter( 'woocommerce_downloadable_product_name', 'translate_downloadable_product_name', 10, 2 );

function translate_downloadable_product_name( $name, $product ) {
    if ( function_exists( 'icl_object_id' ) ) {
        // WPMLを利用した多言語対応
        return apply_filters( 'wpml_translate_single_string', $name, 'woocommerce', 'downloadable_' . $name );
    }
    return $name;
}

サンプルコード 4: SEO対策のための商品名の最適化

このコードは、SEOを考慮して商品名を変更します。

add_filter( 'woocommerce_downloadable_product_name', 'seo_optimized_downloadable_product_name', 10, 2 );

function seo_optimized_downloadable_product_name( $name, $product ) {
    return 'オリジナル ' . $name . ' - 必見のダウンロード商品';
}

サンプルコード 5: ブランド名の追加などのカスタマイズ

このコードは、ダウンロード名にブランド名を追加します。

add_filter( 'woocommerce_downloadable_product_name', 'prepend_brand_to_downloadable_product_name', 10, 2 );

function prepend_brand_to_downloadable_product_name( $name, $product ) {
    $brand = get_post_meta( $product->get_id(), '_brand', true ); // 商品メタからブランド名を取得
    return isset( $brand ) ? $brand . ' - ' . $name : $name;
}

引用元はライセンス保持のため各コーディングスタイルガイドや公式ドキュメントを参照してください。

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


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