Voxel Products Field Addon
The {CODICTS} Voxel Products Field Addon plugin extends Voxel’s built-in product system by adding a custom text input field that works in two contexts: as a product addon (e.g., “Special Instructions,” “Gift Message”) and as a variation attribute (e.g., “Custom Engraving,” “Personalization Text”). Vendors configure the field label, and customers type free-form text that flows through the entire order pipeline — cart, order summary, and order details — at no additional cost.
Installation & Activation
Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.
After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.
On activation, the plugin automatically copies enhanced template files into your child theme directory. The new addon type and variation attribute display mode are immediately available in the Product Type editor.
If any requirement is not met, an admin error notice will appear:
| Error Notice | Meaning |
|---|---|
| “Voxel Theme Not Detected…” | The Voxel theme is not installed or not active. |
| “Voxel Child Theme Not Detected…” | No child theme is in use. Activate a Voxel child theme. |
| “Voxel Outdated Theme Detected…” | Your Voxel theme version is below 1.4.1. Update the theme. |
Note: This plugin has no settings page. All configuration is done through Voxel’s Product Type editor and the product field UI when creating or editing listings.
Key Features
| Feature | Description |
|---|---|
| Text Input Product Addon | Adds a “{C} Text Input” addon type to Voxel product types. Vendors set a title, and customers see a text area on the product form. |
| Text Input Variation Attribute | Adds a “{C} Text Input” display mode for predefined variation attributes, replacing selectable choices with a text area. |
| Configurable Label | Vendors set a custom title that appears as the field label for customers. |
| Optional/Required Toggle | Product addons can be marked as required (always active) or optional (vendor can toggle on/off). |
| Full Order Pipeline | Customer text flows through the cart, order summary, and order details — visible to both the vendor and customer. |
| Zero-Price Addon | The text input is purely informational and does not add any cost to the product price. |
Two Ways to Use the Text Input
The plugin provides a text input field that works in two separate contexts within Voxel’s product system:
| Context | Product Mode | Where It’s Configured | Use Case |
|---|---|---|---|
| Product Addon | Regular or Booking | Product Type → Addons module | Additional text field alongside the product (e.g., “Special Instructions,” “Gift Message,” “Delivery Notes”) |
| Variation Attribute | Variable | Product Type → Variations module → Pre-defined attributes | Free-text entry replacing selectable variation choices (e.g., “Custom Engraving Text,” “Custom Size,” “Personalization”) |
Note: A product type can only have one mode (Regular, Booking, or Variable), so you use the text input as either an addon or a variation attribute on a given product type — not both on the same product.
Setting Up a Text Input Product Addon
Use this approach when you want to add a free-text field alongside a Regular or Booking product.
1. Go to Voxel → Product Types in the WordPress admin.
2. Select or create a product type. The product mode must be Regular or Booking with the Addons module enabled.
3. In the Addons section, add a new addon and select {C} Text Input as the type.
4. Configure the addon:
| Option | Description |
|---|---|
| Label | The internal label shown in the admin (e.g., “Special Instructions”). This is for your reference in the Product Type editor. |
| Key | A unique identifier for the addon. Auto-generated or set manually. |
| Description | Optional description shown to the vendor when configuring the addon on their listing. |
| Is required? | When enabled, the addon is always active — vendors cannot toggle it off. When disabled, vendors can choose whether to enable it. |
| Icon | Optional icon for the addon. |
5. Save the product type.
What the Vendor Sees
When a vendor creates or edits a listing with this product type:
1. The “{C} Text Input” addon appears in the product field.
2. If the addon is optional, the vendor sees a toggle to enable or disable it.
3. Once enabled (or if required), a text input appears with the placeholder “Add Title.”
4. The vendor types the label that customers will see (e.g., “Gift Message,” “Special Instructions”).
What the Customer Sees
When a customer views the product form to make a purchase:
1. A text area appears labeled with the vendor’s configured title.
2. The customer types their message or instructions.
3. The text is included in the cart and order at no additional cost.
Setting Up a Text Input Variation Attribute
Use this approach when you want customers to type free-form text instead of selecting from predefined variation choices on a Variable product.
1. Go to Voxel → Product Types in the WordPress admin.
2. Select or create a product type with the Variations module enabled.
3. Under Product Attributes → Pre-defined attributes, click {C} Text Input to create a new attribute with this display mode.
4. Configure the attribute:
| Option | Description |
|---|---|
| Name | The attribute name (e.g., “Custom Engraving”). |
| Key | A unique identifier for the attribute. |
| Description | Optional description. |
| Display mode | Should be set to {C} Text Input. |
5. Save the product type.
Note: When using the {C} Text Input display mode, you do not need to add attribute choices (values). The choices editor is hidden for this display mode because the customer will type free-form text instead of selecting from predefined options.
What the Vendor Sees
When a vendor creates or edits a listing with this product type:
Instead of the standard “Select items” checklist, a single text input appears where the vendor types a title/label for the field (e.g., “Enter your custom engraving text”).
What the Customer Sees
When a customer views the product form:
Instead of buttons, dropdowns, or radio options for this attribute, a text area appears with the vendor’s title as the label. The customer types their custom value, which is stored alongside the variation selection.
How Text Input Values Flow Through Orders
Whether used as an addon or a variation attribute, the customer’s text input value appears throughout the entire order pipeline:
| Stage | What’s Shown |
|---|---|
| Cart | The text value appears in the cart item subtitle (e.g., “Special Instructions: No onions please”). |
| Order Summary | The text value appears in the product description and addon summary. |
| Order Details | Both the vendor and customer can see the text value formatted as “Title: Value” in the order details. |
Template File Management
The plugin works by copying enhanced versions of several Voxel core files into your child theme. These include PHP class overrides, backend UI templates, vendor-side form templates, and customer-side product form templates.
| Event | What Happens |
|---|---|
| Plugin activation | All template files are copied to the child theme. |
| Plugin update | Templates are force-reinstalled (overwrites existing files). |
| Plugin deactivation | All template files are deleted from the child theme. Voxel’s product system reverts to default behavior. |
| Theme switch | Template tracking is reset and re-evaluated for the new theme. |
JavaScript overrides: The plugin also replaces two of Voxel’s core JavaScript files (
create-post.jsandproduct-form.js) with patched versions. This means other plugins that modify these same scripts may conflict, and Voxel theme updates to these scripts won’t take effect until this plugin is also updated.
Template overwrite warning: If you manually customize any of the overridden template files in your child theme, your changes will be overwritten when the plugin is updated or reactivated.
Data is preserved: Deactivating the plugin removes the display and form templates but does not delete any product or order data. Reactivating restores all functionality.
Frequently Asked Questions
Is there a settings page?
No. All configuration is done through Voxel’s Product Type editor (for adding the addon or attribute) and through the product field UI when vendors create or edit listings.
Does the text input addon add any cost to the product?
No. The text input is purely informational. It always returns a price of zero and does not affect the product total.
Why is a child theme required?
The plugin copies enhanced PHP classes and template files into the child theme directory. Voxel’s autoloading and template system picks up child theme files over the parent theme’s defaults. Without a child theme, the overrides can’t be installed.
What is the minimum Voxel theme version required?
Version 1.4.1. The plugin depends on API changes introduced in this version. If your theme is older, an admin notice will prompt you to update.
Can I have multiple text input addons on the same product type?
Yes. You can add multiple {C} Text Input addons to a product type, each with a unique key and label (e.g., one for “Gift Message” and another for “Special Instructions”).
Can I use the text input as both an addon and a variation attribute on the same product?
Not on the same product type. Addons are available in Regular and Booking product modes, while variation attributes are available in Variable product mode. Since a product type can only have one mode, you would use one approach or the other.
What does the customer see?
A text area (multi-line input, approximately 70px tall) with the vendor’s configured title as the label. The customer types their text, which is then included in the cart and order.
Can the vendor’s text input and the customer’s response be seen in order details?
Yes. The text value appears formatted as “Title: Value” in the cart item subtitle, order summary, and order details. Both the vendor and customer can see it.
What happens when I deactivate the plugin?
All copied template files are removed from the child theme, and the Voxel product system reverts to its default behavior. No product or order data is lost. Reactivating the plugin restores the templates and functionality.
How does the plugin handle Voxel theme updates?
The plugin overrides several Voxel core PHP classes and two JavaScript files. When Voxel releases an update, changes to these specific files won’t take effect until this plugin is also updated to include the new changes. CoDicts typically releases plugin updates to maintain compatibility.
Do I need to add attribute choices when using {C} Text Input as a variation attribute?
No. When using the {C} Text Input display mode, the choices editor is hidden because customers type free-form text instead of selecting from predefined options. The vendor simply provides a title for the field.
Troubleshooting
“{C} Text Input” Not Appearing in the Product Type Editor
| Cause | Solution |
|---|---|
| Plugin not activated | Go to Plugins → Installed Plugins and activate the plugin. |
| Templates not installed | Deactivate and reactivate the plugin to force-reinstall templates into the child theme. |
| Voxel theme version too old | Update the Voxel theme to version 1.4.1 or higher. |
| Child theme not active | Activate a Voxel child theme in Appearance → Themes. |
Text Input Not Showing on the Customer Product Form
| Cause | Solution |
|---|---|
| Addon not enabled by vendor | If the addon is optional, the vendor must toggle it on when editing the listing’s product field. |
| Vendor didn’t set a title | The addon only appears to customers when the vendor has entered a title. Edit the listing and add a title in the addon field. |
| Wrong product mode | Product addons are only available in Regular and Booking modes. Variation attributes are only available in Variable mode. Verify the product type’s mode matches your configuration. |
Customer’s Text Not Appearing in Order Details
| Cause | Solution |
|---|---|
| Templates out of date | Deactivate and reactivate the plugin to force-reinstall the latest templates. The order pipeline relies on the overridden PHP classes being present in the child theme. |
| Customer left the field empty | If the customer didn’t type anything, the text value won’t appear in the order summary. This is expected behavior. |
JavaScript Errors or Conflicts
| Cause | Solution |
|---|---|
| Another plugin modifying the same scripts | The plugin replaces Voxel’s create-post.js and product-form.js. Other plugins modifying these same scripts may conflict. Deactivate other plugins temporarily to isolate the issue. |
| Voxel theme updated | After a Voxel theme update, the plugin’s JavaScript overrides may be based on an older version. Check for a plugin update from CoDicts that includes compatibility with the new Voxel version. |
“Voxel Theme Not Detected,” “Child Theme Not Detected,” or “Outdated Theme” Error
All three conditions must be met: the Voxel theme must be active, a Voxel child theme must be in use, and the Voxel theme version must be 1.4.1 or higher. Go to Appearance → Themes to verify the active theme, and update the Voxel theme if the version is outdated.
For further support, visit codicts.com or contact us at support@codicts.com.