For anyone wishing to sell customizable goods or services, Easy Digital Downloads provides no out-of-the-box solution to capture notes or special instructions at the checkout without the need to purchase the more expensive (but still awesome!) Checkout Fields Manager add-on. This plugin, however, can be overkill for most website owners who just want a quick–and ideally free–way to collect basic customization information from their prospective customers.

Easy Digital Downloads – Order Notes is a simple free add-on that adds an “Order Notes” textarea field to the checkout form, enabling your customers to submit any order-specific instructions and have the data accessible by both store owner and customer.

Features

Lightweight – Bloat-free and lightweight (only 9kb) with no unnecessary options cluttering up your settings screen. Just install and start collecting custom order requirements!

Seamlessly integrated – Recorded notes are displayed and accessible within the Easy Digital Downloads payment receipt, email notifications (via the {order_notes} tag), exported payment history CSV report, and by Frontend Submission vendors via their order dashboard. All order notes are available to view and edit by store owners within the View Order Details screen.

Downloads As Services integration – By default the orders notes field displays regardless of the items in the cart. However if the free Download As Services plugin is installed and active, the field will only be shown if an item within the cart is marked as a “service”. The field will be forced requirement in this scenario.

Frontend submissions integration – Run a services marketplace? Order Notes integrates with Frontend Submissions so vendors can view the notes within their Orders Dashboard screen, making it easy for them to fulfill their service obligations.

Make notes a requirement – Using a simple piece of code (provided below) within your child theme functions.php file, you can make notes a requirement on all customer orders.

Export your notes – Order notes are automatically appended to the Payment History CSV export, perfect for archiving and storage purposes. The “notes” are automatically stripped of all unnecessary line breaks and characters within the CSV to keep things legible and condensed.

Easy customization – A range of developer-friendly WordPress actions and filters are provided to allow further customization of the outputted data.

Translation ready – Order Notes is translation-ready and contains a POT file to get you started translating the plugin into your native language.

Frequently Asked Questions

Question: Is the order notes field displayed for all products, or can it be conditionally enabled on either a per-product (or category) basis?

Answer: For the initial release, order notes are non-conditional and the checkout field is displayed, but not required on all orders.

However, If the free Download As Services plugin is installed and active, the field will only be displayed if an item within the cart is marked as a “service”. The field will be a requirement in this instance.

Question: How do I make the Order Notes field a requirement on all purchases?

Answer: You can add the following action to your child theme functions.php file to make the field a requirement on all orders:

add_filter( 'edd_purchase_form_required_fields', 'edd_order_notes_purchase_form_required_fields' );

Question: Can I impose a maximum (or minimum) character limit on the order notes?

Answer: You can add the following action to your child theme functions.php to impose a 140 maximum character limit on the entered order notes:

add_action( 'edd_checkout_error_checks', 'edd_order_notes_validate_checkout_fields', 10, 2 );

If you wish further control, you can use a function similar to the following within your child theme functions.php file:

function ft_edd_order_notes_validate_checkout_fields( $valid_data, $data ) {
if ( strlen( $data['edd_order_notes'] ) > 140 ) {
edd_set_error( 'invalid_order_notes', 'Order notes must be 140 characters or less.' );
}
}
add_action( 'edd_checkout_error_checks', 'ft_edd_order_notes_validate_checkout_fields', 10, 2 );

Note: Replace the 140 value with whatever character limit you wish to impose. Similarly, you can switch the > operator to < to impose a minimum character limit (be sure to update the error message wording to reflect this change).

Question: Can I move the location of the outputted notes on the customer payment receipt?

Answer: By default the order notes are displayed on a separate section within the customer payment receipt to accommodate larger paragraphs while maintaining line breaks. If you do, however, wish to output the notes as part of the payment receipt table, you can use the following code to do so within your child theme functions.php file:

remove_action( 'edd_payment_receipt_after_table', 'edd_order_notes_payment_receipt_after_table' );
remove_action( 'fes_payment_receipt_after_table', 'edd_order_notes_payment_receipt_after_table' );

add_action( 'edd_payment_receipt_after', 'edd_order_notes_payment_receipt_after' );
add_action( 'fes_payment_receipt_after', 'edd_order_notes_payment_receipt_after' );

Question: Is the plugin available in my native language?

Answer: Order Notes includes the UK English language files. We have, however, included a POT file to get you started translating into the language of your choice!

We always welcome language translation submissions, so if you translate one of our plugins into your native language, please send us the translation file for inclusion in a future release. We credit all submissions.

Development Roadmap

Since Order Notes was released during our “One Plugin Per Week” challenge, we were unable to fit all the features we planned into the initial release. We do however plan to continue supporting and updating the plugin over time, including adding new features and user suggestions.

Here are some features we plan to implement in future releases:

  • Basic plugin settings – the ability to set a minimum and maximum character limit, force required notes, manage a blacklist of unacceptable words, etc. from within the Admin Panel.
  • Conditional validation – the ability to validate the field data matches specific criteria such as including a phone number, URL, etc.
  • Profile notes field – An optional profile field that can enabled to store persistent information within the customer’s account.

Changelog

= 1.0.0 =
* Initial release

Download

Simply download Easy Digital Downloads – Order Notes, activate it, and begin collecting notes and customer order instructions today!