Textarea
Add multi-line text input fields to your WooCommerce products with WPActPro’s Textarea Field option. Allow customers to enter detailed specifications, custom instructions, lengthy messages, or any extended text directly on your product pages.
What is the Textarea Field?
The Textarea Field is a multi-line text input option that allows customers to enter longer, more detailed text on your WooCommerce product pages. Unlike single-line text fields, textarea fields provide a larger input area with multiple rows, making them perfect for collecting extended information, detailed instructions, custom messages, product specifications, or any content that requires more space than a single-line text field.
Unlike the standard WooCommerce product fields, Extra Product Options for WooCommerce’s Textarea Field includes advanced features that give you complete control over customer input:
- Multi-Line Support: Allows customers to enter longer, formatted text with line breaks
- Customizable Dimensions: Control the width (columns) and height (rows) of the textarea
- Character Limits: Set maximum character counts to control content length (Premium feature)
- Validation Rules: Restrict input to letters only, numbers only, email addresses, URLs, or specific patterns
- Flexible Pricing: Charge based on text length, word count, or use custom formulas
- Real-Time Feedback: Show validation messages and guide customers through the input process
Whether you’re collecting detailed product specifications, custom instructions, lengthy personalization messages, or any extended text content, the Textarea Field provides everything you need to collect comprehensive customer input effectively.
The Textarea Field is one of the most versatile options in the Extra Product Options for WooCommerce plugin suite. It bridges the gap between brief text entries and full document uploads, enabling store owners to collect detailed information without requiring file uploads.
Why Use a Textarea Field?
Textarea fields serve multiple purposes in e-commerce, making them essential for various business models that require detailed customer input:
- Extended Content: Allows customers to enter longer, more detailed text than single-line fields can accommodate
- Better Formatting: Multi-line support enables customers to organize their text with line breaks and paragraphs
- Detailed Instructions: Perfect for collecting specific requirements, instructions, or detailed specifications
- Professional Appearance: Larger input area provides better user experience for longer content
- Flexible Integration: Works seamlessly with other field types and can be combined with conditional logic for dynamic forms
- Customizable Size: Adjustable rows and columns allow you to tailor the field to your specific needs
Common Use Cases:
Product Specifications: Perfect for customers who need to provide detailed product requirements, technical specifications, or custom manufacturing details. This is especially valuable for B2B stores, custom manufacturing, or technical product sales where detailed information is crucial.
Custom Instructions: Allow customers to provide detailed instructions for order fulfillment, customization, or special handling. This is essential for services, custom products, or items requiring specific processing instructions.
Detailed Messages: Ideal for greeting cards, gift messages, or personal notes that need more space than a single line. Textarea fields allow customers to write longer, more meaningful messages.
Order Notes: Provide a space for customers to add detailed notes, special requests, or additional information related to their order. This helps ensure orders are processed correctly and meet customer expectations.
Product Descriptions: Let customers provide their own product descriptions, reviews, or detailed feedback. This is useful for user-generated content or custom product listings.
Technical Requirements: Enable customers to enter detailed technical specifications, measurements, or requirements for custom products or services.
Customer Feedback: Collect detailed feedback, testimonials, or reviews from customers during or after purchase.
WPActPro makes it easy to collect text input and control how it impacts pricing, validation, and the final order..
- For numeric input such as quantities or measurements, try our Number Field
- When you want customers to choose a single option, use our Select Field
- For situations where multiple selections are needed, the Multiselect Field is the best choice.
- To offer simple yes/no or on/off choices, use our Checkbox Field
- And when paragraph-style input is required, try our Textarea Field
When to Use the Textarea Field
The Textarea Field is perfect for these product types and scenarios:

Custom Manufacturing & B2B
Textarea fields are essential for businesses that need detailed customer specifications. Customers can provide comprehensive requirements, technical details, or manufacturing instructions.
- Detailed product specifications
- Technical requirements and measurements
- Custom manufacturing instructions
- Material and finish preferences
- Quality standards and tolerances
B2B stores and custom manufacturers benefit from textarea fields because they eliminate the need for separate quote requests and streamline the ordering process by collecting all necessary information upfront.
Service-Based Businesses
Service businesses use textarea fields to collect detailed requirements, project descriptions, or service specifications that help them deliver exactly what customers need.
- Project descriptions and requirements
- Service specifications
- Detailed consultation notes
- Custom service instructions
- Timeline and deadline information
Textarea fields allow service providers to understand customer needs completely before beginning work, reducing miscommunication and ensuring customer satisfaction.


Personalized Products
Gift shops and specialty retailers use textarea fields to collect detailed personalization requests that go beyond simple names or short messages.
- Detailed gift messages
- Personalization stories or dedications
- Custom engraving instructions with formatting
- Detailed customization requests
- Special occasion details
Textarea fields make it easy for customers to provide comprehensive personalization details that transform standard products into meaningful, custom items.
Content & Writing Services
Content creators, writers, and agencies use textarea fields to collect detailed project briefs, content requirements, or writing instructions.
- Content briefs and requirements
- Writing instructions and style guides
- Project descriptions
- Target audience details
- Content specifications
Textarea fields allow content service providers to collect all necessary information to deliver exactly what clients need, reducing revision cycles and improving satisfaction.

How to Set Up the Textarea Field
Follow these comprehensive step-by-step instructions to add a Textarea Field to your WooCommerce products. This guide covers all essential settings organized into General Settings, Label Settings, and Textarea Options.

Step 1: Create a New Option Group
- In your WordPress admin, go to WooCommerce > Products > Extra Product Addons
- Click “Add Product Addon” or edit an existing addon

Addon Configuration:
- Status:
- Check the Status checkbox to enable the addon
- Unchecked addons are disabled and won’t appear on product pages
- Enable this to make your fields active
- Name:
- Enter a name for your addon (e.g., “Product Specifications”)
- This name helps you identify the addon in the admin area
- It’s not visible to customers on the frontend
- Additional Rules:
- Configure which products should display this addon
- Product: Select the condition type (Product, Category, Tag, etc.)
- Is Equal To: Choose the comparison operator
- Value: Select specific products, categories, or other criteria
- Use “Select All” or “Clear All” for bulk selection
- Click “and” to add multiple conditions
- Example: Apply to “Product” “Is Equal To” “Silver Ring” to show only on that product
- Display Position:
- Select where the addon fields appear on the product page
- Options include:
- Before Add to Cart (most common)
- After Add to Cart
- Choose the position that works best with your theme layout
Product addons help you organize your extra product options and apply them consistently across your store. Think of them as containers that hold multiple fields for specific products or product types.
Step 2: Add the Textarea Field

- In your Addon Builder, click “Add Element/Add Section -> ( + ) Add Element” button
- Select Textarea from Select Element Type modal popup
Step 3: Configure General Settings

The General Settings tab contains basic field configuration options that control the field’s core functionality and behavior.
General Settings:
- Field Status:
- The Field Status toggle determines whether the textarea field will be visible and functional for customers on the frontend product page. This is the master switch that controls field visibility.
- Field Name:
- The Field Name setting allows you to set a unique HTML name attribute for the textarea field. This name is used as the HTML `name` attribute on the textarea element and serves as the form field identifier when the form is submitted.
- The plugin automatically generates a unique name (e.g.,
epofw_field_1234567890) - You can customize this name to match your naming conventions
- Ensure the name is unique and follows HTML naming rules (letters, numbers, hyphens, underscores)
- The Field Name appears in the HTML as:
<textarea name="your_field_name" id="...">. This allows you to identify and process the field’s value in form submissions.
- Field ID:
- The Field ID is a unique HTML identifier for the textarea field. This ID is used in the HTML `id` attribute and can be referenced in CSS or JavaScript for custom styling and functionality.
- The plugin automatically generates a unique ID (e.g.,
epofw_field_1234567890) - You can customize this ID to match your naming conventions
- Ensure the ID is unique and follows HTML naming rules (letters, numbers, hyphens, underscores)
- The Field ID appears in the HTML as:
<textarea id="your_field_id" name="...">. This allows you to target the field with CSS selectors like#your_field_idor JavaScript likedocument.getElementById('your_field_id').
- Field Class:
- The Field Class setting allows you to add custom CSS classes to the textarea field element. These classes can be used for styling, JavaScript targeting, or integration with third-party tools.
- Enter one or more CSS class names separated by spaces
- Use descriptive class names that indicate their purpose (e.g.,
custom-textarea-field,specifications-input) - Classes can be shared across multiple fields for consistent styling
- Adding the class
product-specificationsallows you to style all specification fields consistently with CSS like.product-specifications { border: 2px solid #0073aa; min-height: 150px; }.
- Required:
- The Required setting determines whether customers must fill out the textarea field before they can add the product to their cart. When enabled, the field becomes mandatory and validation will prevent submission if the field is empty.
- Field Options (Premium):
- Text: Enter custom validation message that appears when the field is empty (e.g., “Please provide product specifications”)
- Color For Required Text: Choose the color for the validation message (typically red or orange for errors)
- Required Text Class: Add custom CSS classes to the validation message for additional styling
- Only mark fields as required when the information is truly necessary for order fulfillment. Too many required fields can frustrate customers and reduce conversion rates.
Step 4: Configure Label Settings

The Label Settings tab controls how the field label (title and subtitle) appears to customers. These settings help you create clear, professional field labels that guide customers effectively.
Label Settings
- Label Title:
- The Label Title is the main text that appears next to or above the textarea field. This is the primary identifier that tells customers what information they should enter.
- Examples of Effective Titles:
- Product Specifications – Clear for technical requirements
- Custom Instructions – Descriptive for detailed input
- Gift Message – Specific and action-oriented
- Project Details – Clear purpose
- The label title is required and is one of the most important elements for user experience. Make it immediately clear what information is expected.
- Title Type (Premium)
- Determines which HTML element is used to render the label title, affecting semantic structure and default styling.
- Available Options:
- Label (Default): Standard HTML
<label>element – semantically correct for form fields - H1-H6: Heading elements for semantic hierarchy
- Span: Generic inline element for purely visual styling
- Label (Default): Standard HTML
- Use “Label” for most text fields as it’s semantically correct and provides proper accessibility support.
- Title Position (Premium)
- Controls where the label title appears relative to the text input field.
- Available Options:
- Left: Label appears to the left of the input (common for desktop forms)
- Right: Label appears to the right of the input
- Top: Label appears above the input (preferred for mobile-responsive designs)
- Bottom: Label appears below the input
- Use “Top” position for mobile-responsive designs, “Left” for desktop forms with adequate horizontal space.
- Title Color (Premium)
- Customizes the text color of the label title to match your brand or create visual distinction.
- Use the color picker to select a color
- Enter hex codes for precise color matching
- Ensure sufficient contrast with background for accessibility (minimum 4.5:1 ratio)
- Subtitle
- The Subtitle field allows you to add additional descriptive text that appears below the main label title. This provides extra context, instructions, or examples.
- Enter helpful text that clarifies the field’s purpose
- Provide format examples or instructions
- Keep subtitles concise – typically one sentence
- Only add subtitles when they provide value
- Examples:
- Enter the text exactly as you want it to appear
- Maximum 50 characters
- Subtitle Type (Premium)
- Determines which HTML element is used to render the subtitle text.
- Available Options: Label (default), H1-H6, Span
- Subtitle Class
- Allows you to add custom CSS classes to the subtitle element for additional styling.
- Subtitle Color (Premium)
- Customizes the text color of the subtitle to create visual hierarchy.
- Label Class
- Add custom CSS classes to the label container element for styling the entire label area.
- Enable Label Styling (Premium)
- Activates advanced typography and styling options for the label, including font size, weight, family, text alignment, text transform, letter spacing, line height, text shadow, and custom CSS.
- When enabled, you can customize:
- Font Size: Control label text size in pixels
- Weight Of Font: Choose from 100 (thin) to 900 (black)
- Font Family: Specify custom font families
- Text Align: Left, center, right, justify, or default
- Text Transform: Uppercase, lowercase, capitalize, or none
- Letter Spacing: Control spacing between characters
- Line Height: Adjust vertical spacing between lines
- Text Shadow: Add shadow effects to text
- Custom CSS: Add advanced styling with custom CSS code
Step 5: Configure Textarea Options

The Textarea Options tab contains settings specific to textarea input fields, including dimensions, validation, default values, placeholders, and input restrictions.
Textarea Options
- Field Width (Columns)
- What it does:
- The Field Width (Columns) setting controls the horizontal width of the textarea field. This is measured in character columns, which determines how many characters can fit on a single line before wrapping.
- How to use:
- Enter a number representing the width in character columns (e.g., 30, 50, 80)
- Higher values create wider fields (e.g., 80 columns = very wide)
- Lower values create narrower fields (e.g., 30 columns = compact)
- Default is typically 30 columns
- Recommended range: 30-80 columns for most use cases
- Technical Details:
- The columns value is used in the HTML as:
<textarea cols="50" ...>. This is a rough guide – actual width also depends on CSS styling and font size. Modern responsive design often uses CSS width instead, but the cols attribute provides a baseline.
- The columns value is used in the HTML as:
- Best Practices:
- Use 30-40 columns for compact, mobile-friendly fields, Use 50-60 columns for standard desktop forms, Use 70-80 columns for wide, detailed input areas
- Consider your theme’s layout and available space
- Test on different screen sizes to ensure proper display
- Common Configurations:
- Small (30 cols): Compact fields for short messages or mobile-first designs
- Medium (50 cols): Standard width for most use cases, balanced appearance
- Large (80 cols): Wide fields for detailed specifications or desktop-focused designs
- What it does:
- Field Height (Rows)
- What it does:
- The Field Height (Rows) setting controls the vertical height of the textarea field. This determines how many lines of text are visible before scrolling is needed.
- How to use:
- Enter a number representing the height in text rows (e.g., 3, 5, 10)
- Higher values create taller fields with more visible space (e.g., 10 rows = very tall)
- Lower values create shorter, more compact fields (e.g., 3 rows = compact)
- Default is typically 5 rows
- Recommended range: 3-15 rows for most use cases
- Technical Details:
- The rows value is used in the HTML as:
<textarea rows="5" ...>. This determines the initial visible height. Customers can still type more text – the field will scroll if content exceeds the visible area.
- The rows value is used in the HTML as:
- Best Practices:
- Use 3-4 rows for short messages or compact designs, Use 5-8 rows for standard detailed input, Use 10-15 rows for very detailed specifications or long-form content
- Consider the type of content customers will enter
- Balance between providing enough space and not overwhelming the page
- Common Configurations:
- Small (3-4 rows): Compact fields for brief messages or mobile designs
- Medium (5-8 rows): Standard height for most detailed input needs
- Large (10-15 rows): Tall fields for comprehensive specifications or lengthy content
- Use Cases by Row Count:
- 3 rows: Short notes, brief instructions, quick messages
- 5 rows: Standard product specifications, typical instructions
- 8 rows: Detailed requirements, comprehensive instructions
- 10+ rows: Very detailed specifications, lengthy descriptions, full project briefs
- What it does:
- Maximum Character Limit (Premium)
- What it does:
- The Maximum Character Limit setting limits the maximum number of characters customers can enter in the textarea field. This prevents overly long input and helps ensure data fits within your system’s constraints or business requirements.
- How to use:
- Enter the maximum number of characters allowed (e.g., 500, 1000, 2000)
- Consider typical input lengths for your use case
- The plugin enforces this limit through HTML5 `maxlength` attribute and JavaScript validation
- Leave empty for no limit (though this is not recommended for very long content)
- Best Practices:
- Set realistic limits based on actual data requirements
- Consider typical input lengths for your use case
- Test that limits work correctly across different browsers
- Provide clear guidance about character limits in labels or placeholders
- For textarea fields, common limits are:
- 500 characters: Short messages or brief specifications
- 1000 characters: Standard detailed input
- 2000+ characters: Very detailed specifications or lengthy content
- Common Character Limits by Use Case:
- Brief Messages: 200-500 characters
- Standard Specifications: 500-1000 characters
- Detailed Requirements: 1000-2000 characters
- Comprehensive Briefs: 2000+ characters
- What it does:
Real-World Pricing Examples
See how real businesses use the Textarea Field in their WooCommerce stores:
Custom Content Writing with Price Per Character
Set up a textarea field with:
- Field Type: Textarea
- Rows: 8, Cols: 50
- Price Type: Price Per Char
- Price: $0.03
When a customer enters a 500-character custom description, the price automatically adds $15.00 to the base product price (500 characters × $0.03).
Set up a textarea field with:
- Field Type: Textarea
- Rows: 6, Cols: 40
- Price Type: Price Per Word
- Price: $2.00
When a customer enters a detailed 25-word product specification, they pay $50.00 added to the base price (25 words × $2.00)
Product Specifications with Word-Based Pricing
Custom Requirements with Base Fee + Word Count
Set up a textarea field with:
- Field Type: Textarea
- Rows: 10, Cols: 60
- Formula: {ppw}*3+25
This means:
- $3 per word plus a $25 base fee
- “Product requirements” (2 words) = $31 added ($3 × 2 + $25)
- “Detailed specifications and custom requirements for production” (7 words) = $46 added ($3 × 7 + $25)
Set up a textarea field with:
- Field Type: Textarea
- Rows: 12, Cols: 80
- Price Type: Price Per Char(Ignore Space)
- Price: $0.05
This means:
- Each character costs $0.05 (spaces don’t count)
- “Technical specifications” (22 characters, 1 space) = $1.05 added “Detailed technical requirements and specifications” (42 characters, 3 spaces) = $1.95 added
Technical Documentation with Character-Based Pricing
Custom Instructions with Volume Discount
Set up a textarea field with:
- Field Type: Textarea
- Rows: 8, Cols: 50
- Formula: {ppc}<=100?{ppc}*0.02:{ppc}*0.015
This means:
- First 100 characters: $0.02 each
- Additional characters: $0.015 each
- “Basic instructions” (18 characters) = $0.36 added ($0.02 × 18)
- “Detailed instructions with comprehensive requirements and specifications” (75 characters) = $1.50 added ($0.02 × 75)
Set up a textarea field with:
- Field Type: Textarea
- Rows: 10, Cols: 60
- Formula: {ppw}*4+30
This means:
- $4 per word plus a $30 premium fee
- “Product description” (2 words) = $38 added ($4 × 2 + $30)
- “Comprehensive product description with detailed specifications” (6 words) = $54 added ($4 × 6 + $30)
Professional Descriptions with Premium Pricing
Custom Requirements with Tiered Pricing
Set up a textarea field with:
- Field Type: Textarea
- Rows: 8, Cols: 50
- Formula: {ppw}<=10?{ppw}*2:{ppw}<=25?{ppw}*1.5:{ppw}*1
This means:
- 1-10 words: $2 per word
- 11-25 words: $1.50 per word
- 26+ words: $1 per word
- “Basic requirements” (2 words) = $4 added
- “Detailed product requirements and specifications” (5 words) = $10 added
- “Comprehensive product requirements with detailed specifications and custom requirements” (8 words) = $16 added
What Your Customers See
Customers interact with a multi-line textarea input box that adapts based on the rules you configure. The field appearance and behavior are controlled by your settings, creating a seamless experience that guides customers through the input process.
Frontend Experience:
Field Label: Customers see the label title you configured, positioned according to your Title Position setting (Premium). The label clearly indicates what information is expected.
Textarea Box: A multi-line textarea field appears with the dimensions you configured (rows and columns), styled according to your theme and any custom CSS classes you’ve added. The field is clearly visible and provides ample space for longer content.
Character Limits: If you’ve set a maximum length (Premium), customers cannot exceed the character limit. Some browsers may show character count feedback.
Required Field Indicators: If the field is required, customers typically see an asterisk (*) or “required” text next to the label, indicating the field is mandatory.
Validation Messages: If customers try to submit without filling a required field, they’ll see validation messages. Premium users can customize these messages.
Multi-Line Support: Customers can press Enter to create new lines, format their text with line breaks, and organize their content in paragraphs.
Tips for Creating Effective Textarea Fields
Creating an effective Textarea Field involves balancing flexibility with control. Consider these best practices to ensure your textarea fields provide excellent user experience while collecting high-quality data.
- Clear Instructions
- Use descriptive labels that immediately communicate the field’s purpose
- Include subtitles when additional context is needed
- Make instructions concise and easy to understand
- For textarea fields, consider providing examples of the expected format or structure in the label subtitle
- Appropriate Restrictions
- Choose row and column values that match your content needs
- Use smaller dimensions (3-5 rows, 30-40 cols) for brief input
- Medium dimensions (5-8 rows, 50-60 cols) for standard detailed input
- Use larger dimensions (10+ rows, 70-80 cols) for comprehensive specifications
- Test dimensions on different screen sizes to ensure proper display
- Appropriate Configuration
- Textarea fields accept all types of content by default – this is ideal for free-form text input
- Use clear labels and subtitles to guide customers on what to enter
- Set appropriate character limits to control content length
- Reasonable Configuration
- Set character limits (Premium) that are appropriate for your use case
- Balance required vs optional fields based on actual business needs
- Use label subtitles to provide guidance and examples
- User Experience
- Test fields on mobile devices to ensure proper display and usability
- Ensure labels are readable and not cut off on smaller screens
- Use consistent styling across all textarea fields for professional appearance
- Consider the visual hierarchy – make important fields stand out appropriately
- Provide enough space for customers to comfortably enter detailed content
- Data Quality
- Set appropriate character limits (Premium) to prevent overly long input
- Only mark fields as required when information is truly necessary
- Test all field behavior before going live
- Consider the type of content customers will enter and configure accordingly
- Use clear instructions to guide customers on expected content format
Advanced Features
The Textarea Field includes several advanced features that enhance functionality and integration:
- Custom CSS Classes: Style fields to match your theme perfectly. Add custom CSS classes to textarea inputs, labels, and containers for complete design control. This allows you to create branded, professional forms that integrate seamlessly with your store’s design.
- Conditional Logic: Show or hide textarea fields based on other selections or conditions. Use conditional logic to create dynamic forms that adapt to customer choices, showing relevant fields only when needed. This keeps forms clean and focused while providing comprehensive options.
- Integration with Other Fields: Textarea fields work seamlessly with other field types. Combine textarea fields with file uploads for complete documentation, use them alongside select fields for comprehensive product options, or integrate them with conditional logic for dynamic form behavior.
- Multi-Line Formatting: Textarea fields support line breaks and paragraph formatting, allowing customers to organize their content with proper structure. This is essential for detailed specifications, instructions, or any content that benefits from formatting.
Free vs Premium
Free Version Includes:
- Field Status control
- Field Name, ID and Class customization
- Required field option
- Label Title and Subtitle
- Label Class
- Field Width (Columns) customization
- Field Height (Rows) customization
Premium Version Adds:
- Required Text customization (text, color, class)
- Title Type, Position, and Color
- Subtitle Type and Color
- Enable Label Styling with full typography controls (font size, weight, family, alignment, transform, spacing, shadow, custom CSS)
- Maximum Character Limit setting
- Advanced label styling and typography options
Troubleshooting
Field not displaying
- Check Field Status is enabled (ON)
- Verify the addon is assigned to the product
- Check for JavaScript errors in browser console
- Ensure the field is within an enabled section
- Clear browser and WordPress cache
Required field validation not working
- Verify Required setting is enabled correctly
- Check browser console for JavaScript errors
- Test validation on different browsers (some browsers handle HTML5 validation differently)
- Ensure field is not disabled or hidden
- Clear browser cache and test again
Label not showing
- Check that Label Title is entered (this is required)
- Verify label styling settings if using Premium features
- Check for CSS conflicts with your theme
- Test on different screen sizes – labels might be hidden by CSS on mobile
- Inspect the page source to see if label HTML is being generated
Dimensions not applying correctly
- Verify Row and Column values are entered correctly
- Check for CSS that might be overriding the dimensions
- Test on different browsers – some browsers handle cols/rows differently
- Consider using CSS width/height in addition to cols/rows for better control
- Clear browser cache
Frequently Asked Questions
Find answers to commonly asked questions about our products and services.
Still have a question?
If you have any other queries, feel free to reach out to us. Our knowledgeable team is here to help!
Conclusion
Textarea Fields offer unmatched flexibility for collecting detailed, multi-line customer input. Their versatility makes them work well for product specifications, custom instructions, detailed messages, comprehensive requirements, and any content that requires more space than single-line fields. With comprehensive settings for General Configuration, Label Customization, and Textarea-Specific Options, the Textarea Field provides everything you need to collect detailed customer input effectively.
The combination of customizable dimensions, flexible configuration, and integration with other field types makes the Textarea Field suitable for nearly any business model that requires detailed customer input, enhancing both product accuracy and customer satisfaction. Whether you’re collecting specifications, instructions, or any other detailed text-based information, understanding and properly configuring these settings will help you create professional, user-friendly forms.
With Extra Product Options for WooCommerce, creating dynamic, flexible, and professional multi-line text input becomes effortless.
