如何修改WordPress/WooCommerce PHP代码以避免在单个产品页面生效
解决WooCommerce价格前缀仅在首页/分类页生效的问题
没问题,我来帮你调整这段代码!你只需要把页面判断逻辑放在自定义函数的开头,确保只有非单个产品页面才会添加价格前缀。下面是修改后的完整代码:
add_filter( 'woocommerce_get_price_html', 'price_prefix_suffix', 100, 2 ); function price_prefix_suffix( $price, $product ){ // 检查当前页面不是单个产品详情页 if ( !is_product() ) { $price = '<span class="price-thin">From</span> ' . $price; } // 返回处理后的价格(或原价格,如果是产品详情页) return $price; }
关键说明:
- 把
if ( !is_product() )放在函数内部,先判断当前页面类型:- 如果不是单个产品页面(也就是首页、产品分类页等),就执行价格前缀的添加逻辑;
- 如果是单个产品页面,直接返回原始价格,不做任何修改。
- 移除了原代码里的
apply_filters( 'woocommerce_get_price', $price ),因为这个过滤钩子会再次处理价格,可能导致意外问题——直接返回处理后的$price就足够了。
这样修改后,你的价格前缀就只会在你想要的页面生效,单个产品页面不会再出现问题啦!
内容的提问来源于stack exchange,提问作者Michelle
相关产品推荐
相关产品推荐

