首页 > 解决方案 > 在 woocommerce 中为不可购买的产品添加内容

问题描述

我有一些代码片段:

  1. 按“已售”类别使产品无法购买

  2. 删除添加到购物车按钮(不删除价格)

  3. 添加内容。

    //code 1
    add_filter('woocommerce_is_purchasable', 'misha_catalog_mode_on_for_category', 10, 2 );
    function misha_catalog_mode_on_for_category( $is_purchasable, $product ) {
       if( has_term( 'sold', 'product_cat', $product->get_id() ) ) {
     return false;
      }
    return $is_purchasable;  
    }
    
    //code 2
    //Single product pages
    
    add_action( 'woocommerce_single_product_summary', 'hide_single_product_prices', 1 );
    function hide_single_product_prices(){
    global $product;
    
    if( has_term( 'sold', 'product_cat', $product->get_id() ) ):
    
    //Hide add-to-cart button, quantity buttons (and attributes dorpdowns for variable products)
    
    if( ! $product->is_type('variable') ){
       remove_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30 );
    
    } else {
     remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
       }
    
      endif;
    }
    
     //code 3
     add_action( 'woocommerce_single_product_summary', 'unavailable_product_display_message',30 );
     function unavailable_product_display_message() {
     global $product;
    
     if(! $product->is_purchasable() ){
     echo '<p>Hello World</p>';
       }
     }
    

代码工作正常,但内容位置不是我想要的。

我想 :

对于一个简单的产品,内容显示在信息 SKU (ID) 之前是这样的。

对于变体产品,内容现在显示如下

我希望在访问者选择其中一种变体时显示内容,并与这样的价格一起显示。

我如何实现这一目标?

非常感谢任何帮助,
谢谢

标签: wordpressvariableswoocommercevariations

解决方案


推荐阅读