将自定义字段添加到woocommerce产品中的特定类别

克劳迪奥·马丁内斯(Claudio Martinez):

我正在尝试向我的woocommerce订单添加自定义字段“ Color”,但是此自定义字段必须位于几个特定类别中,例如类别“ ballons”,因此functions.php中的代码是这样的:

add_action('woocommerce_before_add_to_cart_button','wdm_add_custom_fields');

                      /**
                      * Adds custom field for Product
                      * @return [type] [description]
                      */
    function wdm_add_custom_fields()
       {

          global $product;
          ob_start();

          $terms = get_the_terms( $product->get_id(), 'product_cat' );

          // Loop through term objects
            foreach( $terms as $term ) {
              if ( "ballons" === $term->slug ) {
        ?>
          <div class="wdm-custom-fields">
            <label>Color </label>
             <select type="text" name="wdm_name">     
                <option value="blue">Blue</option>
                <option value="red">Rojo</option>
                <option value="green">Green</option>      
            </select>
         </div>
         <div class="clear"></div>
    <br>
    
    <?php 
      //  break; // The term match, we stop the loop.
        }
       }        
      ?>

选择框出现在所有产品中,似乎上面的代码并不将选择框限制为特定类别,请提供任何帮助

LoicTheAztec:

改为使用专用的Wordpress条件函数has_term(),如下所示:

add_action('woocommerce_before_add_to_cart_button', 'before_add_to_cart_button_custom_fields');
function before_add_to_cart_button_custom_fields() {
    global $post, $product;

    // Here define your terms (can be terms Ids, slugs or names)
    $terms = array('ballons');

    if ( has_term( $terms, 'product_cat' ) ) {
    ?>
    <div class="wdm-custom-fields">
        <label><?php _e("Color", "woocommerce"); ?></label>
        <select type="text" name="wdm_name">
            <option value="blue"><?php _e("Blue", "woocommerce"); ?></option>
            <option value="red"><?php _e("Rojo", "woocommerce"); ?></option>
            <option value="green"><?php _e("Green", "woocommerce"); ?></option>
        </select>
    </div>
    <div class="clear"></div>
    <br>
    <?php
    }
}

代码进入您的活动子主题(或活动主题)的functions.php文件中。经过测试和工作。

您应该在代码中wdm_namecolor任何地方简单地替换

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将自定义字段添加到woocommerce产品属性

在WooCommerce中将自定义标签添加到特定产品类型的单个产品页面

WooCommerce已将自定义字段添加到其免费插件中吗?

Prestashop 1.6-将自定义字段添加到类别

woocommerce将自定义结帐字段添加到电子邮件

将自定义字段数据添加到WooCommerce订单

将自定义字段外部链接添加到存档类别页面

将自定义维度字段添加到变量产品的每个变体设置中

如果产品在WooCommerce中缺货,则将自定义类添加到链接

将自定义字段添加到“其他信息”选项卡(WooCommerce)

将自定义产品计算价格添加到Woocommerce购物车

将自定义字段变量(ACF)添加到自定义Woocommerce短代码中

在Woocommerce中将自定义多选字段添加到管理产品选项设置

在WooCommerce 3中将自定义列添加到管理产品列表

将产品自定义字段添加到WooCommerce中的“管理产品”批量编辑表单中

在WooCommerce中为特定产品类别自定义“添加到购物车”按钮

如何使用JSON-LD将自定义属性添加到“产品”类型中?

如何在Silvershop中修改产品(将自定义字段添加到$ db)

如果产品具有特定的运输类别,则将自定义文本添加到WooCommerce购物车项目

将自定义字段属性添加到CsvHelper

WooCommerce添加到购物车,从自定义选择字段中添加第二个产品

在WooCommerce中将自定义结帐字段值添加到客户订单注释中

将自定义字段添加到WooCommerce新帐户页面

将自定义字段添加到后端表单

将自定义产品属性添加到Magento交易电子邮件中

Woocommerce仅在特定类别和特定页面中向产品添加自定义产品计数

如何在Woocommerce中将自定义字段添加到类别中?

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮