Woocommerce-缺货时隐藏产品价格(不在管理员中)



我正试图从wooccommerce缺货产品中删除产品价格。

到目前为止,我已经使用过这个(在函数.php中(:

add_filter( 'woocommerce_get_price_html', 'remove_price_ofs', 10, 2 );
function remove_price_ofs( $price, $product ) {
if ( ! $product->is_in_stock()) {$price = '';}
return $price;
}

问题是它还在订单管理列表中隐藏价格。我该如何避免这种情况?

谢谢!

只需检查一下。

add_filter( 'woocommerce_get_price_html', 'remove_price_ofs', 10, 2 );
function remove_price_ofs( $price, $product ) {
if ( ! $product->is_in_stock() && (is_product() || is_product_category() || is_shop() ) ) {$price = '';}
return $price;
}

选项2

只在前端运行。

add_filter( 'woocommerce_get_price_html', 'remove_price_ofs', 10, 2 );
function remove_price_ofs( $price, $product ) {
if ( ! $product->is_in_stock() && ! is_admin() ) {$price = '';}
return $price;
}

我们只是检查它是否是产品页面,如果是,那么只有我们更改价格。您可能还想对存档页面执行此操作。

可以使用的条件标记列表。https://docs.woocommerce.com/document/conditional-tags/