在 Woocommerce 中为简单产品添加自定义设置选项卡

詹姆斯·唐纳德

我在尝试将名为 Discount_info 的自定义字段添加到简单产品时遇到问题。

我创建了一个名为 discount_info 的新选项卡,它显示在简单的产品视图中就好了。问题是尝试向此选项卡添加自定义数字字段。我正在使用下面的代码导致 500 错误。我哪里出错了?

// Display Fields using WooCommerce Action Hook
add_action( 'woocommerce_product_options_discount_info', 
'woocom_general_product_data_custom_field' );

function woocom_general_product_data_custom_field() {
// Create a custom text field


// Number Field
woocommerce_wp_text_input( 
array( 
  'id' => '_discount_info', 
  'label' => __( 'Discount %', 'woocommerce' ), 
  'placeholder' => '', 
  'description' => __( 'Enter the % discount here.', 'woocommerce' ),
  'type' => 'number', 
  'custom_attributes' => array(
     'step' => 'any',
     'min' => '1'
  ) 
  )
);

}

 // Hook to save the data value from the custom fields
 add_action( 'woocommerce_process_product_meta', 
 'woocom_save_general_proddata_custom_field' );

 /** Hook callback function to save custom fields information */
  function woocom_save_general_proddata_custom_field( $post_id ) {

// Save Number Field
 $number_field = $_POST['_discount_info'];
 if( ! empty( $number_field ) ) {
  update_post_meta( $post_id, '_discount_info', esc_attr( $number_field ) );
  }

 }
LoicTheAztec

首先删除所有相关代码,然后试试这个:

// Add a custom product setting tab to edit product pages options FOR SIMPLE PRODUCTS only
add_filter( 'woocommerce_product_data_tabs', 'discount_new_product_data_tab', 50, 1 );
function discount_new_product_data_tab( $tabs ) {
    $tabs['discount'] = array(
        'label' => __( 'Discount', 'woocommerce' ),
        'target' => 'discount_product_data', // <== to be used in the <div> class of the content
        'class' => array('show_if_simple'), // or 'hide_if_simple' or 'show_if_variable'…
    );

    return $tabs;
}

// Add/display custom Fields in the custom product settings tab
add_action( 'woocommerce_product_data_panels', 'add_custom_fields_product_options_discount', 10 );
function add_custom_fields_product_options_discount() {
    global $post;

    echo '<div id="discount_product_data" class="panel woocommerce_options_panel">'; // <== Here we use the target attribute

    woocommerce_wp_text_input(  array(
        'type'          => 'number', // Add an input number Field
        'id'            => '_discount_info',
        'label'         => __( 'Percentage Discount', 'woocommerce' ),
        'placeholder'   => __( 'Enter the % discount.', 'woocommerce' ),
        'description'   => __( 'Explanations about the field info discount.', 'woocommerce' ),
        'desc_tip'      => 'true',
        'custom_attributes' => array(
            'step' => 'any',
            'min' => '1'
        ),
    ) );

    echo '</div>';
}

// Save the data value from the custom fields for simple products
add_action( 'woocommerce_process_product_meta_simple', 'save_custom_fields_product_options_discount', 50, 1 );
function save_custom_fields_product_options_discount( $post_id ) {
    // Save Number Field value
    $number_field = $_POST['_discount_info'];

    if( ! empty( $number_field ) ) {
        update_post_meta( $post_id, '_discount_info', esc_attr( $number_field ) );
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。

在此处输入图片说明


在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在WooCommerce中以编程方式添加自定义设置选项卡以管理产品数据

来自分类Dev

如何在 Woocommerce 的自定义产品类型中添加变体选项卡?

来自分类Dev

Woocommerce其他信息选项卡:添加产品自定义字段值

来自分类Dev

在WooCommerce中将“相关产品”添加到自定义选项卡

来自分类Dev

Woocommerce单一产品选项卡中的自定义字段

来自分类Dev

仅在WooCommerce单产品页面中隐藏某些产品的选项卡

来自分类Dev

当woocommerce产品中不存在任何内容时,隐藏自定义选项卡

来自分类Dev

空时隐藏WooCommerce产品简短描述自定义选项卡

来自分类Dev

将自定义产品排序设置为默认的Woocommerce排序选项

来自分类Dev

向WooCommerce产品变体选项中添加自定义复选框

来自分类Dev

在admin woocommerce产品中添加自定义标签

来自分类Dev

如何在WooCommerce产品设置页面中添加自定义部分

来自分类Dev

WooCommerce-为购物车中的每个产品添加自定义价格

来自分类Dev

如何在WooCommerce 4+中为产品添加自定义库存状态

来自分类Dev

woocommerce中的自定义产品

来自分类Dev

通过WooCommerce产品设置中的自定义复选框将类添加到WooCommerce页面

来自分类Dev

在woocommerce网站的产品列表上的快速编辑选项上添加自定义产品字段

来自分类Dev

在新选项卡中打开外部WooCommerce产品-添加属性target =“ _ blank”

来自分类Dev

添加产品时,如何在woocommerce产品页面中设置必填(必填)自定义字段值

来自分类Dev

隐藏woocommerce设置选项卡

来自分类Dev

我在 woocommerce 设置中找不到结帐选项卡

来自分类Dev

通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

来自分类Dev

在WooCommerce 4中以编程方式从自定义产品类型添加新产品

来自分类Dev

在WooCommerce产品“自定义”标签中添加来自特定ID的产品

来自分类Dev

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

来自分类Dev

从 Woocommerce 结帐中的自定义产品字段值中填写选择字段选项

来自分类Dev

woocommerce api添加具有自定义ID的产品

来自分类Dev

Wordpress Woocommerce 向产品添加属性/自定义属性

来自分类Dev

如何检查WooCommerce中的自定义产品类型选项?

Related 相关文章

  1. 1

    在WooCommerce中以编程方式添加自定义设置选项卡以管理产品数据

  2. 2

    如何在 Woocommerce 的自定义产品类型中添加变体选项卡?

  3. 3

    Woocommerce其他信息选项卡:添加产品自定义字段值

  4. 4

    在WooCommerce中将“相关产品”添加到自定义选项卡

  5. 5

    Woocommerce单一产品选项卡中的自定义字段

  6. 6

    仅在WooCommerce单产品页面中隐藏某些产品的选项卡

  7. 7

    当woocommerce产品中不存在任何内容时,隐藏自定义选项卡

  8. 8

    空时隐藏WooCommerce产品简短描述自定义选项卡

  9. 9

    将自定义产品排序设置为默认的Woocommerce排序选项

  10. 10

    向WooCommerce产品变体选项中添加自定义复选框

  11. 11

    在admin woocommerce产品中添加自定义标签

  12. 12

    如何在WooCommerce产品设置页面中添加自定义部分

  13. 13

    WooCommerce-为购物车中的每个产品添加自定义价格

  14. 14

    如何在WooCommerce 4+中为产品添加自定义库存状态

  15. 15

    woocommerce中的自定义产品

  16. 16

    通过WooCommerce产品设置中的自定义复选框将类添加到WooCommerce页面

  17. 17

    在woocommerce网站的产品列表上的快速编辑选项上添加自定义产品字段

  18. 18

    在新选项卡中打开外部WooCommerce产品-添加属性target =“ _ blank”

  19. 19

    添加产品时,如何在woocommerce产品页面中设置必填(必填)自定义字段值

  20. 20

    隐藏woocommerce设置选项卡

  21. 21

    我在 woocommerce 设置中找不到结帐选项卡

  22. 22

    通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

  23. 23

    在WooCommerce 4中以编程方式从自定义产品类型添加新产品

  24. 24

    在WooCommerce产品“自定义”标签中添加来自特定ID的产品

  25. 25

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

  26. 26

    从 Woocommerce 结帐中的自定义产品字段值中填写选择字段选项

  27. 27

    woocommerce api添加具有自定义ID的产品

  28. 28

    Wordpress Woocommerce 向产品添加属性/自定义属性

  29. 29

    如何检查WooCommerce中的自定义产品类型选项?

热门标签

归档