Product Input Fields for WooCommerce

Description

🚀  New Launch: Flexi BOGO for WooCommerce

The only BOGO plugin with a revenue tracking feature. Now, at an attractive introductory price. Check out our new plugin here.

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. Flexi BOGO for WooCommerce

  2. Abandoned Cart Pro for WooCommerce

  3. Booking & Appointment Plugin for WooCommerce

  4. Order Delivery Date Pro for WooCommerce

  5. Product Delivery Date Pro for WooCommerce

  6. Deposits For WooCommerce

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

  8. Custom Order Status for WooCommerce – Pro

  9. Custom Order Numbers for WooCommerce – Pro

  10. Call for Price for WooCommerce – Pro

  11. Price based on User Role for WooCommerce – Pro

  12. 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. Print Invoice & Delivery Notes for WooCommerce

  4. Product Delivery Date for WooCommerce – Lite

  5. Payment Gateway Based Fees and Discounts for WooCommerce

  6. Custom Order Status for WooCommerce

  7. Custom Order Numbers for WooCommerce

  8. Call for Price for WooCommerce

  9. Price based on User Role for WooCommerce

  10. Currency per Product for WooCommerce

Feedback

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

External Services

This plugin communicates with our tracking server to send usage data only if the user has explicitly opted in to usage tracking. For detailed information about what is tracked, please refer to our usage tracking documentation.

Screenshots

  • 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.

Installation

  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”.

Reviews

September 30, 2024
Even though we only use PIF Lite, Tyche Software was very responsive and helpful to my quite technical inquiry about their plugin.
November 1, 2021 2 replies
I was looking for a plugin to add a simple text field so customers can add a greeting text that shall be shipped with the goods. Good concept, hence the 1 star. Execution and support: zero stars… HTML/CSS implementation: bad – The text field butts up in the same div as the quantity and add to cart div. – On the checkout page the greeting message is added to the product name/title and messes p the entire shopping experience. – In the email the same, the text from the text field is added to the product name/title. I do not recommend this. I barely make bad reviews, but this one deserves it unless the creator wakes up and at least answers the open support requests. Especially considering that he sells a PRO version of this…
July 8, 2021
OK. So, I really wanted to like this plugin and use it. It has some nice features, at least from a back-end perspective. So, I’ll just dive in. The Good It supports a wide range of input types, including things like “country” (pulling from a pre-populated list so you don’t have to enter a bazillion options), phone numbers, email addresses, etc. All well and good. And from the ones I tried, it does them all admirably. The Bad The backend interface is a bit clunky. For each field, you have a big, collapsable set of controls similar to the woocommerce product settings, excerpt, descriptions, etc. However, if you collapse them, the only label you see is something like “custom field #20”. If all are collapsed and you need to find which question asks the name of their fish or somesuch, you have to open them back up until you find it. Not the end of the world, but one of those things that seems obvious and was overlooked. There’s also not really any clean way to add a description or text comment under a field label – at least not in any way that can be styled (see The Ugly), and that won’t likely skew the HTML table rendering. The Ugly So, here’s why I’m giving it 2 stars. Implementation of the HTML/CSS. Not just Ugly. Very Ugly. Implemented as a table (somewhat understandable since Woocommerce does this, too), but something like flexbox or grids would be far better. But the kicker, and what really clenched it for me, is that although you are allowed to assign CSS classes to each field, the CSS class is ONLY applied to the input control – the text field, radio buttons, etc. If you need to style something about the label, too bad. Now, yes, I could have written javascript to run after the page loads that would traverse back up the DOM tree and then down to find the label’s table cell, etc., but … no. Not for $40. At the VERY least, the CSS should have been applied to the table row that contains both the label and the control. As a developer, this would have at least made some sense. In the end, I just saw too many things that just didn’t look right, and since I’m working more and more with designers who are picky about design, it became a dealbreaker. If the developer would like to reach out to me and get some constructive ideas, I’m open to that. Growth is always good. But at this point, I’d recommend looking at other plugins that do the same or similar.
September 8, 2020
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.
Read all 17 reviews

Contributors & Developers

“Product Input Fields for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

“Product Input Fields for WooCommerce” has been translated into 23 locales. Thank you to the translators for their contributions.

Translate “Product Input Fields for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.10.0 – 23/11/2024

  • Fix – Directory traversal vulnerability in the handle_downloads() function by adding proper file path sanitization.
  • Fix – Translation loading was triggered too early, causing errors when changing the site language in WordPress 6.7.
  • Tweak – Started loading the external resources(js, css) from the plugin itself instead of external URLs.
  • Tweak – Removed the call to our tracking server to fetch the deactivation reasons and added them in the plugin itself.

1.9.0 – 22/10/2024

  • Fix – Deactivation survey request was being sent even though ‘Skip & deactivate’ was selected while deactivating the plugin.

1.8.2 – 02/04/2024

  • Tweak :- Update compatibility with WordPress 6.5.
  • Tweak :- Update compatibility with WooCommerce 8.7.

1.8.1 – 20/02/2024

  • Fix – Input fields data were not getting passed to the order after v1.8.0 update.

1.8.0 – 20/02/2024

  • Fix – PHP deprecated error is coming in the log file.
  • Fix – Change plugin description.
  • Fix – F j, Y text is appears in the Date picker/ Weekpicker input field.
  • Fix – Cross Site Request Forgery (CSRF) vulnerability.

1.7.0 – 26/12/2022

  • Fix – Input fields data are not appear on woocommerce emails.
  • Fix – Warnings errors from cart & checkout page.
  • Fix – The selected Input field value does not appear on the Cart and Checkout block page.

1.6.0 – 22/08/2022

  • Fix – Slow load time issue on the admin dashboard panel.
  • Fix – Wrong text appear on product frontend when Date picker/ Weekpicker input field selected.

1.5.0 – 26/07/2023

  • Enhancement – Introduced Deactivation survey feature.
  • Enhancement – Introduced tracking plugin data feature.
  • Fix – Weekpicker and Timepicker were not working on the product page due to a conflict with the Storefront theme.
  • Fix – Using a quote inside the input field on the product page was displaying broken input HTML.
  • Fix – The file upload field was not working when the Astra Pro plugin was active due to a hook from the plugin.
  • Fix – With WC 7.8.0 or above input field values were displayed twice on the cart page.
  • Fix – Issue with displaying the date inside the Date field when the format was saved as dd/mm/yy.

1.4.0 – 29/11/2022

  • Enhancement – Introduced compatibility with WooCommerce High Performance Order Storage.

1.3.2 – 03/05/2022

  • Fix – Input field data was not show in the XML file exported from Tools -> Export -> Orders.
  • Fix – Date Picker and Time Picker JavaScript loads when not in use.
  • Fix – Formatting is not proper for the input field when using Elementor and Astra theme.

1.3.1 – 21/09/2021

  • Fix – Fatal error was coming with PHP 8. This is fixed now.
  • Fix – Product input fields were getting displayed on the frontend even if the plugin setting was kept disabled and shortcode was added. This is fixed now.
  • Fix – Numbers were not coming on the product page when the ‘Range’ type was selected. This is fixed now.
  • Fix – Duplicate fields were coming on the frontend when the product input fields were shown using the shortcode and the input fields values were not getting passed to the cart. This is fixed now.

1.3.0 – 19/03/2021

  • Fixed an issue of after clicking on the 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 https://coder.fm to https://wpcodefactory.com.

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 coder.fm.

1.0.0 – 28/03/2017

  • Initial Release.