在我们的Woocommerce产品中,我们有两种类型的产品。
我们添加了一个元字段来识别这些导入的产品。
仅为这些进口产品隐藏价格的最佳方法是什么? 我尝试过删除一些woocommerce行为,但它会影响所有的woo产品。
答案 0 :(得分:0)
I have tried by removing some woocommerce actions, but its affects all woo products.
然后你需要条件逻辑。这应该摆脱循环中的价格显示。
编辑正如评论中所指出的,一旦您删除了该操作,就会为所有后续产品永久删除该操作。鉴于此,我添加了else
语句来解决此问题。
function so_32584641_remove_price_from_loop(){ 全球$ product;
if( 'mycbgenie' == get_post_meta( $product->id, '_mycbgenie_managed_by', true ) ){
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );
} else {
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );
}
} add_action(' woocommerce_before_shop_loop_item',' so_32584641_remove_price_from_loop');
这应该从单个产品页面删除它:
function so_32584641_remove_price_from_single(){
global $product;
$your_meta = get_post_meta( $product->id, '_your_meta_key', true );
if( 'mycbgenie' == $your_meta ){
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' );
}
}
add_action( 'woocommerce_before_single_product', 'so_32584641_remove_price_from_single' );