You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在特定WooCommerce商品/分类页面显示店铺通知?

解决WooCommerce店铺通知仅在特定分类/商品页面显示的问题

嘿,我来帮你搞定这个需求!你之前尝试直接调用woocommerce_demo_store没成功,核心原因是它是一个过滤器(Filter),不是动作(Action)——它的作用是修改通知文本,而不是触发通知的输出。下面是完整的解决方案:

第一步:禁用默认的全站店铺通知

WooCommerce默认会把店铺通知挂在页面底部(wp_footer钩子),所以我们先移除这个默认输出,避免全站显示:

// 移除默认的全站Demo Store通知输出
remove_action( 'wp_footer', array( 'WC_Admin_Settings', 'output_demo_store_notice' ), 10 );

第二步:自定义通知显示逻辑

创建一个自定义函数,判断当前页面是否是你指定的目标页面(单个商品页面/特定分类页面),然后输出符合WooCommerce默认样式的通知:

// 自定义函数:在指定位置显示Demo Store通知
function custom_woocommerce_demo_store_notice() {
    // 先检查后台是否开启了Demo Store通知开关
    if ( ! wc_get_option( 'woocommerce_demo_store' ) ) {
        return;
    }

    // 定义你想要显示通知的目标分类Slug(替换成你的分类,多个用数组)
    $target_category_slugs = array( 'your-category-slug-1', 'your-category-slug-2' );

    // 判断当前页面:单个商品页面 或者 指定的产品分类页面
    $is_target_page = is_product() || ( is_product_category() && has_term( $target_category_slugs, 'product_cat' ) );

    if ( $is_target_page ) {
        // 获取后台设置的通知文本(支持过滤修改)
        $notice_text = apply_filters( 'woocommerce_demo_store', wc_get_option( 'woocommerce_demo_store_notice', __( 'This is a demo store for testing purposes — no orders will be fulfilled.', 'woocommerce' ) ) );
        
        // 输出通知,和默认样式保持一致
        echo '<p class="woocommerce-store-notice demo_store" style="display:block;">' . wp_kses_post( $notice_text ) . '</p>';
    }
}

第三步:挂载到目标钩子

把上面的函数挂到你想要的位置:woocommerce_before_shop_loop(分类/店铺页面顶部)和woocommerce_before_single_product(单个商品页面顶部):

// 将通知挂载到指定钩子位置
add_action( 'woocommerce_before_shop_loop', 'custom_woocommerce_demo_store_notice', 10 );
add_action( 'woocommerce_before_single_product', 'custom_woocommerce_demo_store_notice', 10 );

关键说明

  1. 页面判断灵活调整:如果想基于分类ID判断,把has_term( $target_category_slugs, 'product_cat' )改成has_term( array(12,34), 'product_cat' )(替换成你的分类ID)。
  2. 样式兼容:输出的HTML和WooCommerce默认通知的类名一致,所以会自动应用主题的通知样式。
  3. 代码放置位置:把这些代码添加到你的子主题functions.php文件,或者自定义插件中——永远不要修改WooCommerce核心文件,避免更新丢失。

内容的提问来源于stack exchange,提问作者Shabrina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:27:04