Product Input Fields for WooCommerce


Product Input Fields for WooCommerce plugin lets you add custom input fields to WooCommerce product’s frontend for customer to fill before adding product to cart.

Input fields can be added globally (i.e. for all products) or on per product basis.

You can choose numerous different types for fields:

  • Text
  • Textarea
  • Number
  • Checkbox
  • Color
  • File
  • Datepicker
  • Weekpicker
  • Timepicker
  • Select
  • Radio
  • Password
  • Country
  • Email
  • Phone
  • Search
  • URL
  • Range

Each type comes with specific options you can set for each field.

Additionally you can set fields HTML template and much more.

Plugin is limited to adding two input fields to each product – one (global) field for all products and one more (local) for each product individually. If you wish to add unlimited number of global and/or local product input fields, please check our Product Input Fields for WooCommerce Pro plugin.

Some of our Pro plugins:

  1. Abandoned Cart Pro for WooCommerce

  2. Booking & Appointment Plugin for WooCommerce

  3. Order Delivery Date Pro for WooCommerce

  4. Product Delivery Date Pro for WooCommerce

  5. Deposits For WooCommerce

  6. Payment Gateway Based Fees and Discounts for WooCommerce – Pro

  7. Custom Order Status for WooCommerce – Pro

  8. Custom Order Numbers for WooCommerce – Pro

  9. Call for Price for WooCommerce – Pro

  10. Price based on User Role for WooCommerce – Pro

  11. Currency per Product for WooCommerce – Pro

Some of our other free plugins:

  1. Abandoned Cart for WooCommerce

  2. Order Delivery Date for WooCommerce – Lite

  3. Product Delivery Date for WooCommerce – Lite

  4. Payment Gateway Based Fees and Discounts for WooCommerce

  5. Custom Order Status for WooCommerce

  6. Custom Order Numbers for WooCommerce

  7. Call for Price for WooCommerce

  8. Price based on User Role for WooCommerce

  9. Currency per Product for WooCommerce


  • We are open to your suggestions and feedback. Thank you for using or trying out one of our plugins!


  • Frontend options.
  • Email options.
  • Setting number of global (i.e. for all products) product input fields.
  • Setting global (i.e. for all products) product input field options.
  • Setting local (i.e. on per product basis) product input field options.


  1. Upload the entire plugin folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the “Plugins” menu in WordPress.
  3. Start by visiting plugin settings at “WooCommerce > Settings > Product Input Fields”.


So, as a developer, I'm going to be a bit more "harsh" with this review. So, installing is pretty straight forward, no real issues, and you can add fields to products just fine. However, a few caveats. It does not work for grouped products, only simple ones. When viewing the grouped product, you can see the simple products "underneath". There isn't a way to add the input fields here without extensive re-templating (and I wasn't paid for that, so I never tried). Front-end work aside, the customer input does not show on the orders. Which is kinda the whole point of the plugin. On another note, this does not work with WooCommerce product import. Exporting seems fine, but importing does nothing, and I had to write up SQL just to sort that out. However, I am not sure if this is a WooCommerce thing.
cool looking plugin! product input field shows up on storefront, does not ever send the results to any orders! I wish it could be better, but the product simply doesn't work.
After struggling with trying to get similar plugins to work, I decided try PIF for Woo. Glad I did as it worked straight up, first pass, with minimal configuration. Thanks goes out to Tyche for a great plugin.
I am not that tech savvy, so finding this plugin was a blessing! Super easy, just what I was looking for and my question was answered right away! There are limits with the free version? but hey! I only needed one text box on one product, so it is perfect for me. You will love this plugin! Thanks so much for creating it!
I was unable to get this plugin to work for me.
Plug-in with several input options. Enought for most web WooCommerce products. In our case adding a text to personalize key rings. Something that I really like is the option to add your own html code before/after the field, pure html+css. You can solve any output view problems with your favorite template. Also fields have their own id, then you can just play with CSS to adapt it to your favorite template in case something doesn't fit well.


“Product Input Fields for WooCommerce” 是一個開源的軟體。以下的人對這個外掛作出了貢獻。


Product Input Fields for WooCommerce 外掛目前已有 22 個本地化語言版本。 感謝所有譯者為這個外掛做出的貢獻。

將 Product Input Fields for WooCommerce 外掛本地化為台灣繁體中文版。


任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄


1.3.0 – 19/03/2021

  • Fixed an issue of after clicking on Order again button on My Account page, it shows the error of required fields.
  • Fixed an issue of additional description is shown on all the products even after disabling the All products setting.

1.2.7 – 31/07/2020

  • Added restrictions to a function from where files were being downloaded for input type File fields. We now check user roles & permissions before downloading the file.
  • Fixed an issue related to Creta Theme.

1.2.6 – 19/03/2020

  • Update compatibility changes with WooCommerce 4.0.0.

1.2.5 – 04/09/2019

  • Changes in code to make the plugin compliant as per WPCS rules.

1.2.4 – 04/04/2019

  • Enhancement – Plugin is made compatible with WPML. wpml-config.xml file is added to translate the All Products field labels using WPML.

1.2.3 – 19/02/2019

  • Plugin URL updated due to handover of the plugins.

1.2.2 – 1/02/2019

  • Author name updated due to handover of the plugin.

1.2.1 – 23/01/2019

  • Dev – Plugin URI updated.
  • Dev – Admin settings restyled and descriptions updated.
  • Dev – Code clean up.

1.2.0 – 25/10/2018

  • Add compatibility with Advanced Order Export For WooCommerce plugin

1.1.9 – 09/10/2018

  • Display fields on PDF Invoices & Packing Slips plugin

1.1.8 – 19/09/2018

  • Add ‘Load Datepicker Style’ option
  • Add ‘Load Timepicker Style’ option
  • Update Timepicker JS
  • Turn off autocomplete on timepicker, datepicker and weekpicker
  • Fix Datepicker, Timepicker and Weekpicker style

1.1.7 – 18/09/2018

  • Add color input compatibility with Opera and Safari

1.1.6 – 17/09/2018

  • Add color section on admin input fields options
  • Add option to allow typing or pasting the color manually
  • Update WC tested up to

1.1.5 – 10/08/2018

  • Fix maxlength attribute on textarea

1.1.4 – 01/08/2018

  • Check if order and input fields exist before trying to delete file uploads
  • Improve help link for pattern attribute
  • Improve input sanitizing
  • Display multiple array value as comma separated string
  • Fix PHP warnings
  • Fix file uploading when using multiple file inputs
  • Add “Smart Textarea” option, showing only the textarea excerpt on frontend and hovering it will make it display the full content
  • Add ‘Textarea Auto Height’ option, making the textarea auto increase its height as users type

1.1.3 – 18/05/2018

  • Add composer
  • Add filter ‘alg_product_input_fields_options’ allowing changes on field options
  • Add filter ‘alg_wc_pif_field_html’ allowing changes the field html
  • Remove check for pro version
  • Remove slashes from the values

1.1.2 – 18/04/2018

  • Dev – “WC tested up to” added to plugin header.

1.1.1 – 30/10/2017

  • Dev – WooCommerce v3.2 compatibility – Admin settings – select type options fixed.
  • Dev – WooCommerce v3.0 compatibility – “woocommerce_add_order_item_meta hook uses out of date data structures and function is deprecated…” notice fixed.
  • Fix – add_product_input_fields_to_order_item_meta() – Checking if product input fields values exist (fixes notice in log).
  • Dev – Saving settings array as main class property.

1.1.0 – 15/06/2017

  • Dev – WooCommerce 3.x.x compatibility – output_custom_input_fields_in_admin_order() – Using meta_exists() and get_meta() functions to access order items meta data.
  • Dev – WooCommerce 3.x.x compatibility – alg_get_frontend_product_input_fields() – Product ID (using get_id() function instead of accessing id object property directly).
  • Dev – Core – add_files_to_email_attachments() – Additional validation added.
  • Tweak – Plugin link updated from to

1.0.1 – 28/03/2017

  • Dev – Language (POT) file added.
  • Dev – readme.txt updated (screenshots added etc.).
  • Tweak – http replaced with https in links to

1.0.0 – 28/03/2017

  • Initial Release.