[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fq7-iAQtTo--u5SJtO7IKqJj6DOTgrd43i-5vF7zACJA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":59,"crawl_stats":37,"alternatives":66,"analysis":88,"fingerprints":818},"wc-fields-factory","WC Fields Factory","4.1.8","Saravana Kumar K","https:\u002F\u002Fprofiles.wordpress.org\u002Fmycholan\u002F","\u003Cp>It’s a woocommerce extension, which helps you to collect extra options from user. The extra options will be carried over to cart, checkout, order & email.\u003C\u002Fp>\n\u003Cp>Using it’s simple field configuration views, you can easily create and publish custom fields to your wooocmmerce products.\u003Cbr \u002F>\nThere is a dedicated drag & drop based form designer, you can customize how the fields should be positioned in the product page.\u003C\u002Fp>\n\u003Cp>WC Fields Factory is fully unlocked.\u003Cbr \u002F>\nThere is no premium version, all the field types as well as features are free and always will be.!\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fd_HgptezlfY?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3>Supported Field Types\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>File Upload\u003C\u002Fstrong> : Single and multiple file uploads. supports major file formats (img, video, pdf …)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Color Picker\u003C\u002Fstrong> : Supports user defined palettes as well as raw color picker.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Date Picker\u003C\u002Fstrong> : jQuery UI datepicker.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Check Box\u003C\u002Fstrong> : Checkbox list for selecting multi option.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Radio Button\u003C\u002Fstrong> : Single option selector.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Color Swatch\u003C\u002Fstrong> : Sub type of Radio button, radio buttons can be shown as color swatches.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Button\u003C\u002Fstrong> : Sub type of Radio button, radio buttons can be shown as image button selector.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drop Down\u003C\u002Fstrong> : To show dropdown list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text Area\u003C\u002Fstrong> : To collect more than one line of text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text\u003C\u002Fstrong> : To collect simple text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number\u003C\u002Fstrong> : To collect number alone.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email\u003C\u002Fstrong> : To collect email address\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Label\u003C\u002Fstrong> : To show product related highlighted message\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image\u003C\u002Fstrong> : Wp Media Upload button (for admin fields only)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>URL\u003C\u002Fstrong> : Set custom links on product page (for admin fields only)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hidden\u003C\u002Fstrong> : Hidden information only for the eye of admin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Custom Pricing & Fee Rules\u003C\u002Fstrong>\u003Cbr \u002F>\nChange product’s price based on custom fields value dynamically.\u003Cbr \u002F>\nPrice can be added, subtracted or replaced.\u003Cbr \u002F>\nCalculation mode can be fixed or percentage Value.\u003Cbr \u002F>\nYou can also add cart Fee based on custom fields value dynamically.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom Fields Rules\u003C\u002Fstrong>\u003Cbr \u002F>\nMake field visible or hidden based on other fields value.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Variation Fields\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate, manage & publish custom fields for woocommerce product variations.\u003Cbr \u002F>\nThere is a dedicated configuration view for mapping custom fields to product variations (From V4.0.0)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Checkout Fields\u003C\u002Fstrong>\u003Cbr \u002F>\nUsing Wc Fields Factory you can customize checkout forms (billing & shipping).\u003Cbr \u002F>\nYou can add new fields to address forms or you show\u002Fhide existing address fields.\u003Cbr \u002F>\nYou can also add custom fields to other part of checkout page as well.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Admin Fields\u003C\u002Fstrong>\u003Cbr \u002F>\nWC Fields Factory allows you to assign fields for back end product admin screens.\u003Cbr \u002F>\nFields for Product Admin View, Product Variations Admin View & Product Category Admin View.\u003Cbr \u002F>\nAdmin can show these fields to front end product page as well (to show some predefined value)\u003Cbr \u002F>\nCan add custom fields to product variation admin view as well.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Fields Cloning\u003C\u002Fstrong>\u003Cbr \u002F>\nAllows to collect extra options per quantity.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Role Based Fields\u003C\u002Fstrong>\u003Cbr \u002F>\nMake fields visible to only authorized users (based on roles)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Validations\u003C\u002Fstrong>\u003Cbr \u002F>\nDual layer validations, for real time (client side) as well as server side.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Form Designer\u003C\u002Fstrong>\u003Cbr \u002F>\nCustom built form designer exclusively for rendering the fields.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WC’s Rest API support\u003C\u002Fstrong>\u003Cbr \u002F>\nWC Fields Factory expose custom fields to wooCommerce rest api (for both products as well as variations end point)\u003Cbr \u002F>\nAlso added support for CoCart Headless ecommerce plugin.\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwcfieldsfactory.com\u002Fuser-guide\u002Ffields-for-woocommerce-products\u002F\" rel=\"nofollow ugc\">Product Fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwcfieldsfactory.com\u002Fuser-guide\u002Ffields-for-woocommerce-variations\u002F\" rel=\"nofollow ugc\">Variation Fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwcfieldsfactory.com\u002Fuser-guide\u002Ffields-for-woocommerce-admin\u002F\" rel=\"nofollow ugc\">Admin Fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwcfieldsfactory.com\u002Fuser-guide\u002Fcustom-pricing-cart-fee\u002F\" rel=\"nofollow ugc\">Pricing & Fee Rules\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsarkware.com\u002Fmultilingual-wc-fields-factory\u002F\" rel=\"nofollow ugc\">Multilingual\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsarkware.com\u002Ftroubleshoot-wc-fields-factory\u002F\" rel=\"nofollow ugc\">Troubleshoot\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsarkware.com\u002Fwc-fields-factory-api\u002F\" rel=\"nofollow ugc\">WC Fields Factory APIs\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsarkware.com\u002Fwoocommerce-change-product-price-dynamically-while-adding-to-cart-without-using-plugins\u002F#override-price-wc-fields-factory\" rel=\"nofollow ugc\">Overriding Product Prices\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwcfieldsfactory.com\u002Fdeveloper-reference\u002Fchange-fields-rendering-behaviour\u002F\" rel=\"nofollow ugc\">Customize Rendering Behavior\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Sell your products with personalised options. Add custom fields to your products, variations, checkout, order and your admin screens.",7000,285912,86,168,"2024-08-12T15:42:00.000Z","6.4.8","3.5","",[20,21,22,23,4],"custom-admin-fields","custom-product-fields","custom-woocommerce-fee","overriding-product-price","https:\u002F\u002Fwcfieldsfactory.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-fields-factory.4.1.8.zip",90,2,0,"2023-03-28 00:00:00","2026-03-15T15:16:48.613Z",[32,48],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"WF-5c51f55f-6e8c-467c-999b-4e6a1a6f7bbc-wc-fields-factory","wc-fields-factory-authenticatedsubscriber-sql-injection","WC Fields Factory \u003C= 4.1.5 - Authenticated(Subscriber+) SQL Injection","The WC Fields Factory plugin for WordPress is vulnerable to SQL Injection via the ‘post’ parameter in versions up to, and including, 4.1.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated attackers with subscriber-level privileges or above to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.",null,"\u003C=4.1.5","4.1.6","high",8.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2024-01-22 19:56:02",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5c51f55f-6e8c-467c-999b-4e6a1a6f7bbc?source=api-prod",301,{"id":49,"url_slug":50,"title":51,"description":52,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":53,"cvss_vector":54,"vuln_type":43,"published_date":55,"updated_date":44,"references":56,"days_to_patch":58},"CVE-2023-0277","wc-fields-factory-authenticated-administrator-sql-injection","WC Fields Factory \u003C= 4.1.5 - Authenticated (Administrator+) SQL Injection","The WC Fields Factory for WordPress is vulnerable to SQL Injection via the 'post' parameter in versions up to, and including, 4.1.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for administrator-level attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.",7.2,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","2023-03-27 00:00:00",[57],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F70ca7ad4-6848-4f87-ae2d-4b9c2ffa668e?source=api-prod",302,{"slug":60,"display_name":7,"profile_url":8,"plugin_count":61,"total_installs":62,"avg_security_score":63,"avg_patch_time_days":58,"trust_score":64,"computed_at":65},"mycholan",3,7150,92,73,"2026-04-04T21:47:42.429Z",[67],{"slug":68,"name":69,"version":70,"author":71,"author_profile":72,"description":73,"short_description":74,"active_installs":28,"downloaded":75,"rating":28,"num_ratings":28,"last_updated":18,"tested_up_to":76,"requires_at_least":77,"requires_php":78,"tags":79,"homepage":84,"download_link":85,"security_score":86,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":87},"luma-product-fields","Luma Product Fields","1.1.0","Luma Retail Solutions","https:\u002F\u002Fprofiles.wordpress.org\u002Flumaretail\u002F","\u003Cp>Luma Product Fields is a lightweight, WooCommerce-native way to add \u003Cstrong>searchable, sortable product specifications\u003C\u002Fstrong> that are simple to manage in admin and easy for customers to compare.\u003C\u002Fp>\n\u003Cp>Use it to create your own product fields, update values quickly in both the product editor and inline list view, and present product specs in a clear, consistent format.\u003C\u002Fp>\n\u003Cp>You can optionally use \u003Cstrong>Product Groups\u003C\u002Fstrong> to assign different sets of fields to different types of products, so each product only shows the specs that matter.\u003C\u002Fp>\n\u003Cp>It’s fast, intuitive, and built specifically for WooCommerce — ideal for stores that want better product pages without extra complexity.\u003C\u002Fp>\n\u003Cp>And if you ever need custom behavior, it is also \u003Cstrong>developer-friendly and extendable\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Why store owners choose Luma Product Fields\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Turn messy product details into clear, buyer-friendly specification tables\u003C\u002Fli>\n\u003Cli>Update specs faster with spreadsheet-style inline editing across many products\u003C\u002Fli>\n\u003Cli>Show only relevant fields per product type to keep admin screens focused\u003C\u002Fli>\n\u003Cli>Make taxonomy-based values \u003Cstrong>clickable\u003C\u002Fstrong> so shoppers can discover similar products\u003C\u002Fli>\n\u003Cli>Keep your catalog consistent with reusable field definitions and repeatable workflows\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What this plugin does\u003C\u002Fh4>\n\u003Cp>Luma Product Fields lets you define and display custom product specification fields such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dimensions\u003C\u002Fli>\n\u003Cli>Material composition\u003C\u002Fli>\n\u003Cli>Technical specs\u003C\u002Fli>\n\u003Cli>Sewing\u002Fknitting details\u003C\u002Fli>\n\u003Cli>Difficulty levels\u003C\u002Fli>\n\u003Cli>Packaging information\u003C\u002Fli>\n\u003Cli>Color codes or systems\u003C\u002Fli>\n\u003Cli>Brand metadata\u003C\u002Fli>\n\u003Cli>Any custom structured detail your products require\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These fields are designed for \u003Cstrong>product specification data\u003C\u002Fstrong> — the kind of structured details customers compare before buying.\u003C\u002Fp>\n\u003Ch4>Standout feature: linkable specification values\u003C\u002Fh4>\n\u003Cp>For taxonomy-based fields (like Single Select, Checkboxes, and Autocomplete), you can enable clickable values on the product page.\u003C\u002Fp>\n\u003Cp>Example: if a product has “Material: Merino”, customers can click “Merino” and view other products with the same spec value.\u003C\u002Fp>\n\u003Cp>This makes your specification table not only informative, but also a smart discovery path for shoppers.\u003C\u002Fp>\n\u003Ch4>Legacy-friendly migration tools\u003C\u002Fh4>\n\u003Cp>If you are moving from older field setups, Luma Product Fields includes built-in migration tools to bring legacy values into a cleaner structured field system.\u003C\u002Fp>\n\u003Cp>Migration controls are available in WooCommerce settings (Tools tab), including unit alias support for smoother matching when older unit labels differ.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Cp>You can start simple with one shared field set for all products, then grow into Product Groups when your catalog gets broader.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Add Custom Fields\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Define the fields your products need. Core field types include:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>Text field – simple free text\u003C\u002Fli>\n\u003Cli>Number – numeric value (sortable, supports units)\u003C\u002Fli>\n\u003Cli>Integer – whole number (sortable, supports units)\u003C\u002Fli>\n\u003Cli>Range (Min–Max) – two numeric values (supports units)\u003C\u002Fli>\n\u003Cli>Single select – dropdown from predefined terms (taxonomy-backed)\u003C\u002Fli>\n\u003Cli>Checkboxes – multiple predefined options (taxonomy-backed)\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Autocomplete – suggest existing terms, allow new (taxonomy-backed)\u003C\u002Fp>\n\u003Cp>Each field has:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>A label\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>A unique slug\u003C\u002Fli>\n\u003Cli>A field type\u003C\u002Fli>\n\u003Cli>Data type (text\u002Fnumber)\n\u003Cul>\n\u003Cli>Variation support (where relevant)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Multi-value support (on relevant field types)\u003C\u002Fli>\n\u003Cli>Optional unit label (for example \u003Ccode>cm\u003C\u002Fcode>, \u003Ccode>g\u003C\u002Fcode>, \u003Ccode>mm\u003C\u002Fcode>, \u003Ccode>kg\u003C\u002Fcode>) shown in admin and frontend\n\u003Cul>\n\u003Cli>Units can be managed in WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Products \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Luma Product Fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Optional frontend description (shown as a tooltip on the product page)\u003C\u002Fli>\n\u003Cli>Optional clickable links for taxonomy-based values, taking the customer to a listing of products with the same term\u003C\u002Fli>\n\u003Cli>An option to mark the field as backend-only (never shown on the frontend)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>(Optional) Create Product Groups (field sets by product type)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>A \u003Cstrong>Product Group\u003C\u002Fstrong> lets you assign a specific set of fields to a specific type of product.\u003C\u002Fp>\n\u003Cp>Think of it as “field sets”, not categories.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>Cameras: ISO range, sensor size, video resolution\u003C\u002Fli>\n\u003Cli>Lenses: focal length, aperture, mount type\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Yarn: needle size, fiber composition, gauge\u003C\u002Fp>\n\u003Cp>Key points:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A product can belong to \u003Cstrong>one\u003C\u002Fstrong> Product Group at a time.\u003C\u002Fli>\n\u003Cli>A field can be assigned to \u003Cstrong>multiple\u003C\u002Fstrong> Product Groups.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Product Groups are \u003Cstrong>not\u003C\u002Fstrong> product categories; they decide which fields appear in admin for that product.\u003C\u002Fp>\n\u003Cp>You can use the plugin without Product Groups (for example a single global field schema), but Product Groups make it easier to maintain different spec sets for different product types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Assign Products (if using Product Groups)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>When a product is assigned to a Product Group, it automatically receives the fields defined for that group.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Edit Values Easily\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>A dedicated panel in the product edit screen shows all fields for that product, with units and clear admin descriptions.\u003C\u002Fli>\n\u003Cli>Fields hidden from frontend are visibly marked in admin editors and list views.\u003C\u002Fli>\n\u003Cli>Variation fields are grouped under a dedicated \u003Cstrong>Product fields\u003C\u002Fstrong> section title in variation edit panels.\u003C\u002Fli>\n\u003Cli>A spreadsheet-style inline editor lets you edit values, sort, and search without opening products one by one.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automatic Frontend Display\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin outputs a clean, structured specification section (the Additional Information tab) on product pages:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>No theme editing required\u003C\u002Fli>\n\u003Cli>Works with any WooCommerce theme\u003C\u002Fli>\n\u003Cli>Variation values override product-level values\u003C\u002Fli>\n\u003Cli>Only fields with values are shown\n\u003Cul>\n\u003Cli>Taxonomy-based values can be rendered as clickable links to matching products\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Backend-only fields are hidden automatically\u003C\u002Fli>\n\u003Cli>Unit labels are rendered next to numeric values\u003C\u002Fli>\n\u003Cli>Optional tooltips from the field’s frontend description can be shown\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Graceful fallback if some values are missing\u003C\u002Fp>\n\u003Cp>In settings, you can opt to also show values like SKU, Product Tags, weight, dimensions, categories, and WooCommerce-native GTIN in the same table.\u003C\u002Fp>\n\u003Cp>The frontend output can be customized using hooks and filters.\u003Cbr \u002F>\nFor advanced use cases, developers can fully override or replace the rendering logic via theme or plugin code.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How do I use this plugin? (quick start)\u003C\u002Fh4>\n\u003Cp>Most stores can be up and running in minutes:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Product Fields\u003C\u002Fstrong> and add 3–8 fields you know customers care about.\u003C\u002Fli>\n\u003Cli>(Optional) If you already have legacy text\u002Fmeta specs, run migration in \u003Cstrong>WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Products \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Luma Product Fields \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Tools\u003C\u002Fstrong> to convert them into structured fields (including linkable values where applicable).\u003C\u002Fli>\n\u003Cli>(Optional) Create Product Groups if different product types need different field sets.\u003C\u002Fli>\n\u003Cli>Open a product and fill in values in the Product Fields panel.\u003C\u002Fli>\n\u003Cli>Use inline editing to update many products quickly.\u003C\u002Fli>\n\u003Cli>Visit a product page and confirm your specs look clear and complete.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Quick examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Camera store\u003C\u002Fstrong>: Sensor Size, ISO Range, Video Resolution, Lens Mount\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Yarn shop\u003C\u002Fstrong>: Fiber Content, Gauge, Needle Size, Weight Category\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Furniture shop\u003C\u002Fstrong>: Material, Assembly Required, Weight Capacity, Dimensions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Start with a small set, then expand once you see what customers actually use.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Settings (Tabbed UI)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Under WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Products \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Luma Product Fields, settings are grouped into tabs:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>General: frontend title, optional built-in rows, and built-in tooltip controls\u003C\u002Fli>\n\u003Cli>Style: row separators, layout mode (auto\u002Fgrid), and label\u002Fvalue weight\u003C\u002Fli>\n\u003Cli>Units: editable units and editable migration aliases\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Tools: migration tool switch and quick link\u003C\u002Fp>\n\u003Cp>Built-in package weight and package size tooltip texts are editable in settings.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Block themes (FSE) – current status\u003C\u002Fh4>\n\u003Cp>The plugin works on block themes (for example Twenty Twenty-Four), but the taxonomy term archives for linkable fields are currently rendered via a PHP template for maximum compatibility.\u003C\u002Fp>\n\u003Cp>Technical note: Because these archives are rendered via a custom PHP template (not a native block template), the template explicitly enqueues block\u002Fglobal styles and renders the theme header\u002Ffooter template parts early so block themes keep expected typography and navigation layout.\u003C\u002Fp>\n\u003Cp>This means some “pixel-perfect parity” details (for example button styles and some typography that would normally be applied by native Woo\u002Fblocks) may differ.\u003C\u002Fp>\n\u003Cp>Full “pure blocks \u002F block template” parity for these archives is planned in a future version.\u003C\u002Fp>\n\u003Ch4>SEO & structured data\u003C\u002Fh4>\n\u003Cp>Luma Product Fields is designed to be \u003Cstrong>SEO-friendly\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All values are stored as standard product metadata and rendered as regular HTML, so they are easily crawlable.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why choose this plugin?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>WooCommerce-native design\u003C\u002Fstrong>\u003Cbr \u002F>\nNo external field frameworks — just clean, optimized product metadata.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Lightweight and fast\u003C\u002Fstrong>\u003Cbr \u002F>\nFocused solely on product data, not general-purpose content fields.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Variation-aware\u003C\u002Fstrong>\u003Cbr \u002F>\nVariation-specific fields are supported out of the box.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automatic frontend output\u003C\u002Fstrong>\u003Cbr \u002F>\nNo templates or shortcodes needed, with optional overrides.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Powerful admin workflow\u003C\u002Fstrong>\u003Cbr \u002F>\nInline editing saves hours of product management time.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Shoppable specs with linkable values\u003C\u002Fstrong>\u003Cbr \u002F>\nTurn key specification values into clickable paths to related products.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Developer-friendly\u003C\u002Fstrong>\u003Cbr \u002F>\nClass-based, namespaced, and hookable. Register custom field types, override rendering, hook into formatting, and integrate with third-party logic.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Future-proof schema\u003C\u002Fstrong>\u003Cbr \u002F>\nProduct Groups let you enforce consistent data structures across similar products.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Custom product specification fields\u003C\u002Fli>\n\u003Cli>Optional Product Group–based field schemas\u003C\u002Fli>\n\u003Cli>Inline editing with AJAX\u003C\u002Fli>\n\u003Cli>Multi-value support (where relevant)\u003C\u002Fli>\n\u003Cli>Variation support (some field types only)\u003C\u002Fli>\n\u003Cli>Automatic frontend rendering\u003C\u002Fli>\n\u003Cli>Optional taxonomy-based fields with linkable values\u003C\u002Fli>\n\u003Cli>Frontend tooltips via field descriptions\u003C\u002Fli>\n\u003Cli>Backend-only fields for internal metadata\u003C\u002Fli>\n\u003Cli>Tabbed settings UI (General, Style, Units, Tools)\u003C\u002Fli>\n\u003Cli>Frontend table style\u002Flayout controls (plain\u002Fdivider\u002Fstriped, auto\u002Fgrid, bold toggles)\u003C\u002Fli>\n\u003Cli>Built-in package weight\u002Fsize tooltip settings with editable text\u003C\u002Fli>\n\u003Cli>Unit labels for numeric fields and compatible types\u003C\u002Fli>\n\u003Cli>Settings-based unit editor (add\u002Fremove unit slugs and labels)\u003C\u002Fli>\n\u003Cli>Legacy migration tool in settings (Tools tab)\u003C\u002Fli>\n\u003Cli>Editable unit aliases for migration matching\u003C\u002Fli>\n\u003Cli>Field editor improvements (radio type selection, initial values for new taxonomy fields, value persistence on validation errors)\u003C\u002Fli>\n\u003Cli>Frontend-hidden fields are visibly marked in admin product\u002Fvariation fields and list views\u003C\u002Fli>\n\u003Cli>Template override support\u003C\u002Fli>\n\u003Cli>Fully extendable through actions & filters\u003C\u002Fli>\n\u003C\u002Ful>\n","Add WooCommerce product fields and product specifications in minutes, with inline editing, clickable values, and searchable specs.",171,"6.9.4","6.0","8.0",[21,80,81,82,83],"product-fields","product-specifications","product-specs","woocommerce-product-fields","https:\u002F\u002Fgithub.com\u002Fluma-retail\u002Fluma-product-fields","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluma-product-fields.1.1.0.zip",100,"2026-03-15T10:48:56.248Z",{"attackSurface":89,"codeSignals":451,"taintFlows":599,"riskAssessment":806,"analyzedAt":817},{"hooks":90,"ajaxHandlers":440,"restRoutes":448,"shortcodes":449,"cronEvents":450,"entryPointCount":27,"unprotectedCount":27},[91,97,101,106,110,113,118,123,128,132,136,140,145,149,154,159,163,167,171,175,179,183,187,191,195,198,201,204,207,210,213,216,219,223,227,231,234,237,241,246,250,254,259,264,267,270,274,277,279,281,283,286,289,291,295,297,300,303,306,309,313,317,322,326,330,334,338,342,347,351,355,359,363,366,370,373,377,380,384,387,391,394,398,404,408,411,414,418,421,424,427,431,436],{"type":92,"name":93,"callback":94,"file":95,"line":96},"action","admin_enqueue_scripts","enqueue_admin_assets","includes\\wcff_admin_fields.php",65,{"type":92,"name":98,"callback":99,"file":95,"line":100},"admin_footer","wccaf_back_end_enqueue_scripts",67,{"type":92,"name":102,"callback":103,"priority":104,"file":95,"line":105},"save_post","save_wccaf_product_fields",1,69,{"type":92,"name":107,"callback":108,"file":95,"line":109},"edited_product_cat","save_wccaf_product_cat_fields",71,{"type":92,"name":111,"callback":108,"file":95,"line":112},"create_product_cat",72,{"type":92,"name":114,"callback":115,"priority":116,"file":95,"line":117},"woocommerce_product_after_variable_attributes","inject_wccaf_on_product_variable_section",10,74,{"type":92,"name":119,"callback":120,"priority":121,"file":95,"line":122},"woocommerce_save_product_variation","save_wccaf_product_variable_fields",99,75,{"type":124,"name":125,"callback":126,"priority":116,"file":95,"line":127},"filter","woocommerce_email_order_meta_fields","custom_order_fields_on_order_email",76,{"type":124,"name":129,"callback":130,"file":95,"line":131},"woocommerce_product_data_tabs","inject_product_custom_product_data_tabs",78,{"type":92,"name":133,"callback":134,"file":95,"line":135},"woocommerce_product_data_panels","add_custom_product_data_tabs_containers",79,{"type":92,"name":137,"callback":138,"priority":116,"file":95,"line":139},"woocommerce_after_order_details","custom_order_fields_on_customer_order_view",83,{"type":92,"name":141,"callback":142,"file":143,"line":144},"admin_init","wcff_predefined_posts_for_checkout","includes\\wcff_checkout_fields.php",21,{"type":92,"name":146,"callback":147,"priority":121,"file":143,"line":148},"edit_form_after_editor","wcff_checkout_meta_view",22,{"type":124,"name":150,"callback":151,"priority":152,"file":143,"line":153},"before_render_common_meta","wcccf_filter_field_meta",9,23,{"type":124,"name":155,"callback":156,"priority":157,"file":143,"line":158},"woocommerce_admin_billing_fields","wcccf_add_custom_fields_into_billing",20,25,{"type":124,"name":160,"callback":161,"priority":157,"file":143,"line":162},"woocommerce_admin_shipping_fields","wcccf_add_custom_fields_into_shipping",26,{"type":124,"name":164,"callback":165,"priority":116,"file":143,"line":166},"wccpf_fields_factory_supported_fields","remove_file_field_from_wcccf",29,{"type":92,"name":168,"callback":169,"priority":116,"file":143,"line":170},"woocommerce_admin_order_data_after_shipping_address","custom_fields_data_to_show_admin",31,{"type":124,"name":172,"callback":173,"priority":152,"file":143,"line":174},"woocommerce_checkout_fields","wcccf_filter_checkout_fields",36,{"type":124,"name":176,"callback":177,"priority":152,"file":143,"line":178},"woocommerce_form_field_args","wcccf_checkout_form_field",38,{"type":92,"name":180,"callback":181,"priority":121,"file":143,"line":182},"woocommerce_checkout_shipping","wcccf_custom_checkout_fields",41,{"type":92,"name":184,"callback":185,"priority":121,"file":143,"line":186},"woocommerce_after_checkout_validation","wcccf_custom_checkout_fields_validation",43,{"type":92,"name":188,"callback":189,"priority":152,"file":143,"line":190},"woocommerce_order_details_after_customer_details","custom_fields_data_to_show_client",45,{"type":124,"name":192,"callback":193,"priority":152,"file":143,"line":194},"woocommerce_form_field_checkbox","wcccf_field_render_on_checkout",47,{"type":124,"name":196,"callback":193,"priority":152,"file":143,"line":197},"woocommerce_form_field_datepicker",48,{"type":124,"name":199,"callback":193,"priority":152,"file":143,"line":200},"woocommerce_form_field_colorpicker",49,{"type":124,"name":202,"callback":193,"priority":152,"file":143,"line":203},"woocommerce_form_field_radio",50,{"type":124,"name":205,"callback":193,"priority":152,"file":143,"line":206},"woocommerce_form_field_email",51,{"type":124,"name":208,"callback":193,"priority":152,"file":143,"line":209},"woocommerce_form_field_label",52,{"type":124,"name":211,"callback":193,"priority":152,"file":143,"line":212},"woocommerce_form_field_number",53,{"type":124,"name":214,"callback":193,"priority":152,"file":143,"line":215},"woocommerce_form_field_hidden",54,{"type":124,"name":217,"callback":193,"priority":152,"file":143,"line":218},"woocommerce_form_field_select",55,{"type":92,"name":220,"callback":221,"priority":152,"file":143,"line":222},"woocommerce_checkout_update_order_meta","wcccf_save_order_address",59,{"type":124,"name":224,"callback":225,"priority":116,"file":143,"line":226},"woocommerce_order_formatted_billing_address","wcccf_show_billing_details",62,{"type":124,"name":228,"callback":229,"priority":116,"file":143,"line":230},"woocommerce_order_formatted_shipping_address","wcccf_show_shipping_details",63,{"type":124,"name":232,"callback":233,"priority":116,"file":143,"line":96},"woocommerce_formatted_address_replacements","wcccf_retirive_formatted_address",{"type":124,"name":125,"callback":235,"priority":116,"file":143,"line":236},"add_custom_fields_on_order_email",66,{"type":92,"name":102,"callback":238,"priority":104,"file":239,"line":240},"on_save_post","includes\\wcff_dao.php",85,{"type":92,"name":242,"callback":243,"file":244,"line":245},"admin_notices","wcff_woocommerce_not_found_notice","includes\\wcff_loader.php",61,{"type":92,"name":141,"callback":247,"file":248,"line":249},"wcff_register_options","includes\\wcff_options.php",11,{"type":124,"name":251,"callback":252,"priority":116,"file":253,"line":162},"woocommerce_order_item_get_formatted_meta_data","handle_fields_visibility","includes\\wcff_order_fields.php",{"type":124,"name":255,"callback":256,"file":257,"line":258},"upload_dir","custom_upload_dir","includes\\wcff_persister.php",228,{"type":92,"name":260,"callback":261,"file":262,"line":263},"admin_head-post.php","wcff_post_single_view","includes\\wcff_post_handler.php",16,{"type":92,"name":265,"callback":261,"file":262,"line":266},"admin_head-post-new.php",17,{"type":92,"name":268,"callback":268,"file":262,"line":269},"wcff_admin_head",18,{"type":124,"name":271,"callback":272,"file":262,"line":273},"manage_edit-wccpf_columns","wcff_columns",19,{"type":92,"name":275,"callback":276,"priority":116,"file":262,"line":157},"manage_wccpf_posts_custom_column","wcff_post_listing",{"type":124,"name":278,"callback":272,"file":262,"line":144},"manage_edit-wccaf_columns",{"type":92,"name":280,"callback":276,"priority":116,"file":262,"line":148},"manage_wccaf_posts_custom_column",{"type":124,"name":282,"callback":272,"file":262,"line":153},"manage_edit-wccvf_columns",{"type":92,"name":284,"callback":276,"priority":116,"file":262,"line":285},"manage_wccvf_posts_custom_column",24,{"type":92,"name":287,"callback":288,"file":262,"line":158},"admin_head-edit.php","wcff_post_admin_listing",{"type":92,"name":93,"callback":290,"file":262,"line":162},"wcff_admin_enqueue_scripts",{"type":92,"name":292,"callback":293,"priority":104,"file":262,"line":294},"add_meta_boxes","wcff_inject_fields_list_meta_box",28,{"type":92,"name":292,"callback":296,"priority":116,"file":262,"line":166},"wcff_inject_factory_meta_box",{"type":92,"name":292,"callback":298,"priority":116,"file":262,"line":299},"wcff_inject_field_selector_meta_box",30,{"type":92,"name":292,"callback":301,"priority":302,"file":262,"line":170},"wcff_inject_admin_location_meta_box",40,{"type":92,"name":292,"callback":304,"priority":302,"file":262,"line":305},"wcff_inject_group_preference_meta_box",32,{"type":92,"name":292,"callback":307,"priority":86,"file":262,"line":308},"wcff_inject_target_product_meta_box",33,{"type":92,"name":292,"callback":310,"priority":311,"file":262,"line":312},"wcff_inject_group_Level_location_meta_box",200,34,{"type":124,"name":314,"callback":315,"priority":116,"file":316,"line":162},"views_edit-wccvf","prepare_wccvf_views","includes\\wcff_post_list_table.php",{"type":92,"name":318,"callback":319,"file":320,"line":321},"wp_footer","wcff_load_client_assets","includes\\wcff_product_fields.php",84,{"type":124,"name":323,"callback":324,"file":320,"line":325},"woocommerce_product_tabs","single_product_template_tab_fields_injector",96,{"type":92,"name":327,"callback":328,"priority":116,"file":320,"line":329},"woocommerce_after_shop_loop_item_title","inject_hidden_price_tag_on_archive",116,{"type":92,"name":331,"callback":332,"priority":104,"file":320,"line":333},"woocommerce_before_add_to_cart_button","inject_placeholder_for_variation_fields",119,{"type":124,"name":335,"callback":336,"priority":121,"file":320,"line":337},"woocommerce_add_to_cart_validation","fields_validator",127,{"type":124,"name":339,"callback":340,"priority":116,"file":320,"line":341},"woocommerce_add_cart_item_data","fields_persister",133,{"type":92,"name":343,"callback":344,"priority":345,"file":320,"line":346},"woocommerce_add_to_cart","split_cart_item_for_cloning",999,136,{"type":124,"name":348,"callback":349,"priority":345,"file":320,"line":350},"woocommerce_cart_item_name","fields_cloning_cart_handler",147,{"type":124,"name":352,"callback":353,"priority":345,"file":320,"line":354},"woocommerce_checkout_cart_item_quantity","fields_cloning_checkout_handler",148,{"type":124,"name":356,"callback":357,"priority":345,"file":320,"line":358},"woocommerce_get_item_data","cart_data_handler",152,{"type":124,"name":360,"callback":361,"priority":345,"file":320,"line":362},"woocommerce_add_cart_item","pricing_rules_handler",161,{"type":124,"name":364,"callback":361,"priority":345,"file":320,"line":365},"woocommerce_get_cart_item_from_session",162,{"type":92,"name":367,"callback":368,"priority":345,"file":320,"line":369},"woocommerce_cart_calculate_fees","fee_rules_handler",165,{"type":124,"name":371,"callback":372,"priority":345,"file":320,"line":14},"tier_pricing_table\u002Fcart\u002Fproduct_cart_price","tier_pricing_rule_handler",{"type":92,"name":374,"callback":375,"priority":121,"file":320,"line":376},"woocommerce_add_order_item_meta","fields_order_meta_handler",175,{"type":92,"name":378,"callback":375,"priority":121,"file":320,"line":379},"woocommerce_new_order_item",177,{"type":124,"name":381,"callback":382,"priority":121,"file":320,"line":383},"cocart_prepare_product_object_v2","expose_product_fields_for_rest_api",183,{"type":124,"name":385,"callback":382,"priority":121,"file":320,"line":386},"cocart_prepare_product_object",184,{"type":124,"name":388,"callback":389,"priority":121,"file":320,"line":390},"cocart_prepare_product_variation_object_v2","expose_variation_fields_for_rest_api",186,{"type":124,"name":392,"callback":389,"priority":121,"file":320,"line":393},"cocart_prepare_product_variation_object",187,{"type":124,"name":395,"callback":396,"file":397,"line":263},"wcff_request","prepare_request","includes\\wcff_request.php",{"type":124,"name":399,"callback":400,"priority":401,"file":402,"line":403},"wcff_response","prepare_response",5,"includes\\wcff_response.php",15,{"type":92,"name":405,"callback":406,"file":407,"line":148},"admin_menu","register_admin_menus","includes\\wcff_setup.php",{"type":124,"name":409,"callback":410,"priority":116,"file":407,"line":158},"page_row_actions","add_cloning_link",{"type":92,"name":412,"callback":413,"priority":116,"file":407,"line":162},"admin_action_wcff_clone_group","clone_group",{"type":92,"name":415,"callback":416,"file":407,"line":417},"manage_posts_extra_tablenav","inject_wcff_post_filters",27,{"type":124,"name":419,"callback":420,"file":407,"line":294},"disable_months_dropdown","disable_month_filter",{"type":124,"name":422,"callback":423,"file":407,"line":166},"parse_query","intercept_wp_query",{"type":124,"name":425,"callback":426,"priority":116,"file":407,"line":299},"the_posts","apply_wcff_filters",{"type":92,"name":93,"callback":428,"file":429,"line":430},"wcff_enqueue_option_assets","views\\meta_box_option.php",7,{"type":92,"name":432,"callback":433,"priority":104,"file":434,"line":435},"init","load","wcff.php",88,{"type":92,"name":437,"callback":438,"file":434,"line":439},"before_woocommerce_init","closure",232,[441,446],{"action":442,"nopriv":443,"callback":444,"hasNonce":443,"hasCapCheck":443,"file":445,"line":403},"wcff_ajax",false,"listen","includes\\wcff_ajax.php",{"action":442,"nopriv":447,"callback":444,"hasNonce":443,"hasCapCheck":443,"file":445,"line":263},true,[],[],[],{"dangerousFunctions":452,"sqlUsage":453,"outputEscaping":458,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":597,"bundledLibraries":598},[],{"prepared":249,"raw":104,"locations":454},[455],{"file":239,"line":456,"context":457},794,"$wpdb->get_results() with variable interpolation",{"escaped":459,"rawEcho":460,"locations":461},636,70,[462,465,467,469,471,473,475,477,480,482,484,486,488,490,492,495,497,499,501,503,504,506,508,510,513,515,517,519,521,523,525,527,528,529,531,533,534,536,538,540,542,544,546,548,550,552,553,555,557,558,559,560,561,562,564,565,568,571,574,575,577,579,581,583,586,587,588,590,592,594],{"file":95,"line":463,"context":464},390,"raw output",{"file":95,"line":466,"context":464},494,{"file":95,"line":468,"context":464},576,{"file":95,"line":470,"context":464},629,{"file":95,"line":472,"context":464},832,{"file":95,"line":474,"context":464},833,{"file":445,"line":476,"context":464},46,{"file":478,"line":479,"context":464},"includes\\wcff_builder.php",298,{"file":478,"line":481,"context":464},336,{"file":478,"line":483,"context":464},896,{"file":478,"line":485,"context":464},898,{"file":478,"line":487,"context":464},900,{"file":478,"line":489,"context":464},902,{"file":478,"line":491,"context":464},922,{"file":493,"line":494,"context":464},"includes\\wcff_cart_editor.php",691,{"file":493,"line":496,"context":464},751,{"file":143,"line":498,"context":464},140,{"file":143,"line":500,"context":464},163,{"file":143,"line":502,"context":464},164,{"file":143,"line":369,"context":464},{"file":143,"line":505,"context":464},463,{"file":143,"line":507,"context":464},476,{"file":143,"line":509,"context":464},599,{"file":511,"line":512,"context":464},"includes\\wcff_injector.php",299,{"file":511,"line":514,"context":464},650,{"file":511,"line":516,"context":464},698,{"file":511,"line":518,"context":464},699,{"file":511,"line":520,"context":464},700,{"file":511,"line":522,"context":464},701,{"file":511,"line":524,"context":464},702,{"file":511,"line":526,"context":464},704,{"file":511,"line":472,"context":464},{"file":511,"line":474,"context":464},{"file":511,"line":530,"context":464},834,{"file":511,"line":532,"context":464},835,{"file":262,"line":439,"context":464},{"file":262,"line":535,"context":464},357,{"file":262,"line":537,"context":464},358,{"file":262,"line":539,"context":464},359,{"file":262,"line":541,"context":464},362,{"file":262,"line":543,"context":464},363,{"file":262,"line":545,"context":464},366,{"file":320,"line":547,"context":464},249,{"file":407,"line":549,"context":464},350,{"file":407,"line":551,"context":464},356,{"file":407,"line":541,"context":464},{"file":407,"line":554,"context":464},380,{"file":556,"line":312,"context":464},"views\\meta_box_admin_fields_locations.php",{"file":556,"line":186,"context":464},{"file":556,"line":206,"context":464},{"file":556,"line":209,"context":464},{"file":556,"line":215,"context":464},{"file":556,"line":321,"context":464},{"file":563,"line":218,"context":464},"views\\meta_box_fields.php",{"file":563,"line":333,"context":464},{"file":566,"line":567,"context":464},"views\\meta_box_fields_selector.php",56,{"file":569,"line":570,"context":464},"views\\meta_box_field_location.php",68,{"file":572,"line":573,"context":464},"views\\meta_box_group_preference.php",94,{"file":572,"line":573,"context":464},{"file":429,"line":576,"context":464},132,{"file":429,"line":578,"context":464},191,{"file":429,"line":580,"context":464},407,{"file":429,"line":582,"context":464},436,{"file":584,"line":585,"context":464},"views\\meta_box_target_products.php",81,{"file":584,"line":139,"context":464},{"file":584,"line":240,"context":464},{"file":584,"line":589,"context":464},87,{"file":584,"line":591,"context":464},89,{"file":584,"line":593,"context":464},122,{"file":595,"line":596,"context":464},"views\\meta_box_variation_fields.php",141,4,[],[600,635,645,664,677,685,695,713,724,736,744,753,761,781,795],{"entryPoint":601,"graph":602,"unsanitizedCount":597,"severity":634},"get_config_tab_container (includes\\wcff_builder.php:878)",{"nodes":603,"edges":629},[604,609,614,617,619,622,624,627],{"id":605,"type":606,"label":607,"file":478,"line":608},"n0","source","$_meta_config",878,{"id":610,"type":611,"label":612,"file":478,"line":483,"wp_function":613},"n1","sink","echo() [XSS]","echo",{"id":615,"type":606,"label":616,"file":478,"line":608},"n2","$_pricing_config",{"id":618,"type":611,"label":612,"file":478,"line":485,"wp_function":613},"n3",{"id":620,"type":606,"label":621,"file":478,"line":608},"n4","$_fields_rule_config",{"id":623,"type":611,"label":612,"file":478,"line":487,"wp_function":613},"n5",{"id":625,"type":606,"label":626,"file":478,"line":608},"n6","$_color_config",{"id":628,"type":611,"label":612,"file":478,"line":489,"wp_function":613},"n7",[630,631,632,633],{"from":605,"to":610,"sanitized":443},{"from":615,"to":618,"sanitized":443},{"from":620,"to":623,"sanitized":443},{"from":625,"to":628,"sanitized":443},"medium",{"entryPoint":636,"graph":637,"unsanitizedCount":104,"severity":634},"get_config_field_meta_tab (includes\\wcff_builder.php:917)",{"nodes":638,"edges":643},[639,642],{"id":605,"type":606,"label":640,"file":478,"line":641},"$_html",917,{"id":610,"type":611,"label":612,"file":478,"line":491,"wp_function":613},[644],{"from":605,"to":610,"sanitized":443},{"entryPoint":646,"graph":647,"unsanitizedCount":430,"severity":634},"initialize_datepicker_field (includes\\wcff_cart_editor.php:659)",{"nodes":648,"edges":660},[649,652,654,656,657,659],{"id":605,"type":606,"label":650,"file":493,"line":651},"$_field (x2)",659,{"id":610,"type":611,"label":612,"file":493,"line":653,"wp_function":613},677,{"id":615,"type":606,"label":655,"file":493,"line":651},"$_post_type",{"id":618,"type":611,"label":612,"file":493,"line":494,"wp_function":613},{"id":620,"type":606,"label":658,"file":493,"line":651},"$_field (x6)",{"id":623,"type":611,"label":612,"file":493,"line":520,"wp_function":613},[661,662,663],{"from":605,"to":610,"sanitized":447},{"from":615,"to":618,"sanitized":443},{"from":620,"to":623,"sanitized":443},{"entryPoint":665,"graph":666,"unsanitizedCount":104,"severity":634},"clone_group (includes\\wcff_dao.php:1145)",{"nodes":667,"edges":675},[668,671],{"id":605,"type":606,"label":669,"file":239,"line":670},"$_REQUEST",1148,{"id":610,"type":611,"label":672,"file":239,"line":673,"wp_function":674},"wp_redirect() [Open Redirect]",1211,"wp_redirect",[676],{"from":605,"to":610,"sanitized":443},{"entryPoint":678,"graph":679,"unsanitizedCount":104,"severity":634},"\u003Cwcff_dao> (includes\\wcff_dao.php:0)",{"nodes":680,"edges":683},[681,682],{"id":605,"type":606,"label":669,"file":239,"line":670},{"id":610,"type":611,"label":672,"file":239,"line":673,"wp_function":674},[684],{"from":605,"to":610,"sanitized":443},{"entryPoint":686,"graph":687,"unsanitizedCount":104,"severity":634},"inject_wcff_post_filters (includes\\wcff_setup.php:328)",{"nodes":688,"edges":693},[689,692],{"id":605,"type":606,"label":690,"file":407,"line":691},"$_GET",342,{"id":610,"type":611,"label":612,"file":407,"line":541,"wp_function":613},[694],{"from":605,"to":610,"sanitized":443},{"entryPoint":696,"graph":697,"unsanitizedCount":27,"severity":712},"persist (includes\\wcff_admin_fields.php:222)",{"nodes":698,"edges":709},[699,702,706,708],{"id":605,"type":606,"label":700,"file":95,"line":701},"$_id",222,{"id":610,"type":611,"label":703,"file":95,"line":704,"wp_function":705},"update_option() [Settings Manipulation]",227,"update_option",{"id":615,"type":606,"label":707,"file":95,"line":701},"$_val",{"id":618,"type":611,"label":703,"file":95,"line":704,"wp_function":705},[710,711],{"from":605,"to":610,"sanitized":443},{"from":615,"to":618,"sanitized":443},"low",{"entryPoint":714,"graph":715,"unsanitizedCount":28,"severity":712},"initialize_color_picker_field (includes\\wcff_cart_editor.php:811)",{"nodes":716,"edges":722},[717,720],{"id":605,"type":606,"label":718,"file":493,"line":719},"$_field",811,{"id":610,"type":611,"label":612,"file":493,"line":721,"wp_function":613},844,[723],{"from":605,"to":610,"sanitized":447},{"entryPoint":725,"graph":726,"unsanitizedCount":28,"severity":712},"search_terms (includes\\wcff_dao.php:774)",{"nodes":727,"edges":734},[728,731],{"id":605,"type":606,"label":729,"file":239,"line":730},"$_payload (x2)",774,{"id":610,"type":611,"label":732,"file":239,"line":456,"wp_function":733},"get_results() [SQLi]","get_results",[735],{"from":605,"to":610,"sanitized":447},{"entryPoint":737,"graph":738,"unsanitizedCount":104,"severity":712},"\u003Cwcff_setup> (includes\\wcff_setup.php:0)",{"nodes":739,"edges":742},[740,741],{"id":605,"type":606,"label":690,"file":407,"line":691},{"id":610,"type":611,"label":612,"file":407,"line":541,"wp_function":613},[743],{"from":605,"to":610,"sanitized":443},{"entryPoint":745,"graph":746,"unsanitizedCount":28,"severity":712},"render_variation_fields_config_view (views\\meta_box_variation_fields.php:3)",{"nodes":747,"edges":751},[748,750],{"id":605,"type":606,"label":749,"file":595,"line":215},"$_REQUEST['author']",{"id":610,"type":611,"label":612,"file":595,"line":215,"wp_function":613},[752],{"from":605,"to":610,"sanitized":447},{"entryPoint":754,"graph":755,"unsanitizedCount":28,"severity":712},"\u003Cmeta_box_variation_fields> (views\\meta_box_variation_fields.php:0)",{"nodes":756,"edges":759},[757,758],{"id":605,"type":606,"label":749,"file":595,"line":215},{"id":610,"type":611,"label":612,"file":595,"line":215,"wp_function":613},[760],{"from":605,"to":610,"sanitized":447},{"entryPoint":762,"graph":763,"unsanitizedCount":27,"severity":40},"validate_fields (includes\\wcff_validator.php:220)",{"nodes":764,"edges":778},[765,769,773,776],{"id":605,"type":606,"label":766,"file":767,"line":768},"$_REQUEST[$fkey]","includes\\wcff_validator.php",243,{"id":610,"type":611,"label":770,"file":767,"line":771,"wp_function":772},"call_user_func() [RCE]",240,"call_user_func",{"id":615,"type":606,"label":774,"file":767,"line":775},"$_FILES[$fkey]",255,{"id":618,"type":611,"label":770,"file":767,"line":777,"wp_function":772},252,[779,780],{"from":605,"to":610,"sanitized":443},{"from":615,"to":618,"sanitized":443},{"entryPoint":782,"graph":783,"unsanitizedCount":27,"severity":40},"validate_field (includes\\wcff_validator.php:283)",{"nodes":784,"edges":792},[785,787,789,791],{"id":605,"type":606,"label":718,"file":767,"line":786},283,{"id":610,"type":611,"label":770,"file":767,"line":788,"wp_function":772},288,{"id":615,"type":606,"label":790,"file":767,"line":786},"$_value",{"id":618,"type":611,"label":770,"file":767,"line":788,"wp_function":772},[793,794],{"from":605,"to":610,"sanitized":443},{"from":615,"to":618,"sanitized":443},{"entryPoint":796,"graph":797,"unsanitizedCount":27,"severity":40},"\u003Cwcff_validator> (includes\\wcff_validator.php:0)",{"nodes":798,"edges":803},[799,800,801,802],{"id":605,"type":606,"label":766,"file":767,"line":768},{"id":610,"type":611,"label":770,"file":767,"line":771,"wp_function":772},{"id":615,"type":606,"label":774,"file":767,"line":775},{"id":618,"type":611,"label":770,"file":767,"line":777,"wp_function":772},[804,805],{"from":605,"to":610,"sanitized":443},{"from":615,"to":618,"sanitized":443},{"summary":807,"deductions":808},"The wc-fields-factory plugin v4.1.9 presents a mixed security posture. While it demonstrates good practices in its use of prepared statements for SQL queries and output escaping, significant concerns arise from its attack surface and the results of taint analysis. The presence of two AJAX handlers without authentication checks creates a direct entry point for potential attackers. Furthermore, the taint analysis revealing three high-severity flows with unsanitized paths is a critical finding, suggesting potential vulnerabilities that could be exploited if these flows are triggered by malicious input. Although there are no currently unpatched CVEs, the plugin has a history of two high-severity vulnerabilities, both related to SQL injection. This pattern, combined with the taint analysis findings, indicates a recurring susceptibility to injection-style attacks. While the strong adherence to prepared statements and output escaping is commendable, the unprotected AJAX endpoints and the identified high-severity taint flows represent immediate and actionable risks that must be addressed.",[809,811,813,815],{"reason":810,"points":116},"Unprotected AJAX handlers",{"reason":812,"points":403},"High severity taint flows",{"reason":814,"points":116},"History of high severity SQL injection vulnerabilities",{"reason":816,"points":116},"Missing nonce checks on AJAX","2026-03-16T17:57:32.925Z",{"wat":819,"direct":832},{"assetPaths":820,"generatorPatterns":825,"scriptPaths":826,"versionParams":827},[821,822,823,824],"\u002Fwp-content\u002Fplugins\u002Fwc-fields-factory\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fwc-fields-factory\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fwc-fields-factory\u002Fassets\u002Fjs\u002Ffrontend.js","\u002Fwp-content\u002Fplugins\u002Fwc-fields-factory\u002Fassets\u002Fjs\u002Fadmin.js",[],[823,824],[828,829,830,831],"wc-fields-factory\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","wc-fields-factory\u002Fassets\u002Fcss\u002Fadmin.css?ver=","wc-fields-factory\u002Fassets\u002Fjs\u002Ffrontend.js?ver=","wc-fields-factory\u002Fassets\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":833,"htmlComments":839,"htmlAttributes":840,"restEndpoints":844,"jsGlobals":845,"shortcodeOutput":848},[834,835,836,837,838],"wcff_frontend_form_wrapper","wcff_field_wrapper","wcff_admin_form_wrapper","wcff-products-page-fields-wrapper","wcff-product-variations-fields-wrapper",[],[841,842,843],"data-wcff-field-id","data-wcff-field-type","data-wcff-field-name",[],[846,847],"wcff_frontend_params","wcff_admin_params",[849,850,851],"[wcff_product_fields]","[wcff_checkout_fields]","[wcff_order_fields]"]