概要
woocommerce_single_product_flexslider_enabled
フィルタは、WooCommerceでの単一製品ページにおけるFlexSliderの表示を制御するために使用されます。このフィルタを使用することで、FlexSliderの有効/無効を動的に変更することができます。特に次のような機能を実装する際によく使われます。
- カスタム製品ギャラリーの表示
- 特定の製品タイプに対するスライダーの無効化
- ユーザーの要望に応じた表示の変更
- パフォーマンスチューニングのためのスライダー無効化
- テーマやプラグイン側での視覚的要件の調整
- 特定の条件に基づく柔軟な表示管理
構文
add_filter( 'woocommerce_single_product_flexslider_enabled', 'custom_function_name' );
パラメータ
$enabled
(boolean): FlexSliderが有効かどうかを示す真偽値。
戻り値
- (boolean): FlexSliderを有効にする場合は
true
、無効にする場合はfalse
を返します。
対応するWooCommerceおよびWordPressのバージョン
- WooCommerceバージョン: 2.0以上
- WordPressバージョン: 3.3以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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: FlexSliderを無効化する
add_filter( 'woocommerce_single_product_flexslider_enabled', '__return_false' );
このコードは、すべての単一製品ページでFlexSliderを無効化します。特定のページでスライダーを表示したくない場合に便利です。
サンプルコード2: 製品カテゴリによるスライダーの制御
add_filter( 'woocommerce_single_product_flexslider_enabled', 'conditionally_enable_flexslider' );
function conditionally_enable_flexslider( $enabled ) {
global $product;
if ( has_term( 'no-slider', 'product_cat', $product->get_id() ) ) {
return false; // 'no-slider' カテゴリの場合は無効
}
return $enabled; // それ以外は元の設定を維持
}
このコードは、「no-slider」カテゴリの製品に対してFlexSliderを無効にします。他の製品には影響しません。
サンプルコード3: 管理者の表示設定
add_filter( 'woocommerce_single_product_flexslider_enabled', 'disable_slider_for_admins' );
function disable_slider_for_admins( $enabled ) {
if ( current_user_can( 'administrator' ) ) {
return false; // 管理者にはスライダーを非表示
}
return $enabled;
}
このコードは、管理者がログインしている場合にFlexSliderを無効にします。管理者向けのカスタム機能を提供する際に役立ちます。
サンプルコード4: 特定の製品IDでスライダーを無効化
add_filter( 'woocommerce_single_product_flexslider_enabled', 'disable_slider_for_specific_product' );
function disable_slider_for_specific_product( $enabled ) {
$specific_product_id = 123; // 特定の製品ID
if ( get_the_ID() === $specific_product_id ) {
return false; // 特定の製品の場合は無効
}
return $enabled;
}
このコードは、特定の製品IDに対してFlexSliderを無効にします。特定の製品の見栄えを調整する際に有効です。
サンプルコード5: 条件付きでFlexSliderの有効化
add_filter( 'woocommerce_single_product_flexslider_enabled', 'conditional_flexslider_based_on_time' );
function conditional_flexslider_based_on_time( $enabled ) {
$current_hour = date( 'H' );
if ( $current_hour < 9 || $current_hour > 17 ) {
return false; // 営業時間外は無効
}
return $enabled;
}
このコードは、営業時間(9時から17時)以外の時間にFlexSliderを無効にします。これにより、ユーザーエクスペリエンスをコントロールできます。