概要
woocommerce_product_add_to_cart_aria_describedby フィルタは、WooCommerceの商品をカートに追加するボタンに関連する ARIA 属性 (aria-describedby) の値を変更するために使用されます。このフィルタを使うことで、アクセシビリティに配慮したウェブサイトの構築を手助けします。以下は、このフィルタがよく役立つ機能の例です。
- 商品の追加情報の提供
- アクセシビリティの向上
- 商品のバリエーションに関連する説明の追加
- 商品の特典やキャンペーン情報の表示
- 購入手続きの手順を説明するテキストの追加
- ホバー情報やツールチップの強化
フィルタの概要
-
構文:
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'your_custom_function', 10, 2 ); -
パラメータ:
$describedby(string): 現在のaria-describedbyの値。$product(WC_Product): 商品オブジェクト。
-
戻り値:
変更されたaria-describedbyの値。 -
使用可能なプラグインのバージョン:
WooCommerce 3.0 以降 -
ワードプレスのバージョン:
WordPress 4.0 以降
サンプルコード
サンプルコード1: 商品の詳細を追加
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'custom_add_to_cart_aria', 10, 2 );
function custom_add_to_cart_aria( $describedby, $product ) {
return 'additional-info-' . $product->get_id();
}
このサンプルコードは、商品の aria-describedby 属性を、商品の ID に基づく追加情報の参照に変更しています。
サンプルコード2: カスタムメッセージを追加
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'custom_message_add_to_cart_aria', 10, 2 );
function custom_message_add_to_cart_aria( $describedby, $product ) {
return 'info-' . $product->get_id() . ' sale-info';
}
このコードは、商品がセール中であることを考慮し、カスタムメッセージを aria-describedby 属性に追加しています。
サンプルコード3: 複数の説明を連結
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'concatenate_aria_descriptions', 10, 2 );
function concatenate_aria_descriptions( $describedby, $product ) {
return $describedby . ' product-description-' . $product->get_id();
}
このサンプルコードでは、既存の aria-describedby 値に、商品の説明を連結しています。
サンプルコード4: 独自のクラスを追加
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'add_custom_class_aria', 10, 2 );
function add_custom_class_aria( $describedby, $product ) {
return $describedby . ' custom-class';
}
このコードは、aria-describedby にカスタムクラスを追加し、スタイリングや JavaScript との連携を可能にします。
サンプルコード5: バリエーションの説明を追加
add_filter( 'woocommerce_product_add_to_cart_aria_describedby', 'add_variation_info_aria', 10, 2 );
function add_variation_info_aria( $describedby, $product ) {
if ( $product->is_type( 'variable' ) ) {
return $describedby . ' variation-info';
}
return $describedby;
}
このサンプルでは、変数商品の場合に特別な説明を追加しています。
この関数のアクションでの使用可能性
| アクション | 使用可能 |
|---|---|
| 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 |