{"id":318740,"date":"2026-05-26T07:25:48","date_gmt":"2026-05-26T07:25:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ninja-checkout-fields\/"},"modified":"2026-05-26T07:25:10","modified_gmt":"2026-05-26T07:25:10","slug":"ninja-checkout-fields","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ninja-checkout-fields\/","author":20627914,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.8","requires_php":"7.4","requires_plugins":null,"header_name":"NINJA Checkout Fields","header_author":"ninja.si","header_description":"Manage WooCommerce checkout fields without touching code \u2014 enable\/disable, relabel, reorder, and set placeholders for Billing, Shipping, and Order fields from a single admin screen.","assets_banners_color":"f4ecd8","last_updated":"2026-05-26 07:25:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ninja.si\/plugins\/ninja-checkout-fields","header_author_uri":"https:\/\/ninja.si","rating":0,"author_block_rating":0,"active_installs":0,"downloads":16,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sstucl","date":"2026-05-26 07:25:10"}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3549011,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3549011,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3549011,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3549011,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3549011,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3548666,"resolution":"1","location":"assets","locale":"","width":2584,"height":1528},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3548666,"resolution":"2","location":"assets","locale":"","width":2584,"height":1528}},"screenshots":{"1":"Field manager \u2014 at-a-glance KPI cards plus per-field controls (Enabled, Required, Label, Placeholder, Priority) for the Billing, Shipping, and Additional sections.","2":"Live preview \u2014 the derived checkout field list in priority order, exactly what customers will see, with one-click Save and Reset to WooCommerce Defaults."}},"plugin_section":[],"plugin_tags":[3148,61045,245480,286,13816],"plugin_category":[45],"plugin_contributors":[264287],"plugin_business_model":[],"class_list":["post-318740","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-checkout-fields","plugin_tags-field-manager","plugin_tags-woocommerce","plugin_tags-woocommerce-checkout","plugin_category-ecommerce","plugin_contributors-sstucl","plugin_committers-sstucl"],"banners":{"banner":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/banner-772x250.png?rev=3549011","banner_2x":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/banner-1544x500.png?rev=3549011","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/icon.svg?rev=3549011","icon":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/icon.svg?rev=3549011","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/screenshot-1.png?rev=3548666","caption":"Field manager \u2014 at-a-glance KPI cards plus per-field controls (Enabled, Required, Label, Placeholder, Priority) for the Billing, Shipping, and Additional sections."},{"src":"https:\/\/ps.w.org\/ninja-checkout-fields\/assets\/screenshot-2.png?rev=3548666","caption":"Live preview \u2014 the derived checkout field list in priority order, exactly what customers will see, with one-click Save and Reset to WooCommerce Defaults."}],"raw_content":"<!--section=description-->\n<p>Every WooCommerce store has a checkout page, but the default field set rarely fits every business. NINJA Checkout Fields gives shop managers a clean admin screen (under WooCommerce \u2192 Checkout Fields) where they can:<\/p>\n\n<ul>\n<li><strong>Enable or disable<\/strong> any standard checkout field (Billing, Shipping, Additional\/Order).<\/li>\n<li><strong>Mark fields as required or optional<\/strong> \u2014 override WooCommerce's defaults to fit your workflow.<\/li>\n<li><strong>Rename the label<\/strong> shown to the customer, without editing template files or child themes.<\/li>\n<li><strong>Set a placeholder<\/strong> (hint text inside the input) per field.<\/li>\n<li><strong>Reorder fields<\/strong> with simple priority numbers or \u25b2\/\u25bc buttons \u2014 lower priority = earlier on the form.<\/li>\n<li><strong>Live preview<\/strong> that shows the derived checkout layout \u2014 exactly what your customers will see \u2014 updating as you edit.<\/li>\n<\/ul>\n\n<p>Everything is saved in a single WordPress option. No database tables, no rewrite rules, and no external requests for managing your checkout (the only opt-in exception is the \"NINJA Updates\" email subscription described below). Activate, configure, done.<\/p>\n\n<p><strong>Protected fields:<\/strong> <code>billing_country<\/code> and <code>billing_email<\/code> can never be disabled because WooCommerce requires them to complete order processing. The plugin enforces this server-side regardless of what the admin UI sends.<\/p>\n\n<p><strong>Reset:<\/strong> One click restores the full WooCommerce default field set.<\/p>\n\n<h3>WooCommerce integration<\/h3>\n\n<p>NINJA Checkout Fields declares HPOS (High-Performance Order Storage \/ Custom Order Tables) compatibility and uses the standard <code>woocommerce_checkout_fields<\/code> filter so it's compatible with any WooCommerce version that exposes that filter (8.0+). It does not modify database tables, templates, or core files.<\/p>\n\n<h3>Stay updated (optional)<\/h3>\n\n<p>The admin screen has an optional \"NINJA Updates\" card: tick the consent box and enter your email to hear about plugin updates and new NINJA modules. It is entirely opt-in \u2014 nothing is sent unless you submit that form \u2014 and you can unsubscribe at any time with one click. This is the only feature that ever contacts an external service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong>, search for \"NINJA Checkout Fields\", and click <strong>Install Now<\/strong> \u2014 or upload the ZIP under <strong>Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Click <strong>Activate<\/strong>.<\/li>\n<li>Open <strong>WooCommerce \u2192 Checkout Fields<\/strong> in the admin menu.<\/li>\n<li>Enable, disable, relabel, reorder, and set placeholders as needed.<\/li>\n<li>Click <strong>Save Changes<\/strong>. Your checkout updates immediately.<\/li>\n<\/ol>\n\n<p>WooCommerce must be installed and active. If it is not, the plugin shows an admin notice and does nothing else.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20disable%20the%20billing%20email%20or%20country%3F\"><h3>Can I disable the billing email or country?<\/h3><\/dt>\n<dd><p>No \u2014 and that's deliberate. WooCommerce cannot process an order without those two fields. The plugin protects them server-side; the UI makes it clear they're required.<\/p><\/dd>\n<dt id=\"will%20this%20break%20my%20existing%20orders%20or%20customer%20data%3F\"><h3>Will this break my existing orders or customer data?<\/h3><\/dt>\n<dd><p>No. The plugin only affects the checkout form presented to new customers. Existing orders are untouched. Overrides are stored as a single WordPress option, so you can reset at any time.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. HPOS compatibility is declared and the plugin does not read order data at all.<\/p><\/dd>\n<dt id=\"does%20it%20make%20any%20external%20requests%3F\"><h3>Does it make any external requests?<\/h3><\/dt>\n<dd><p>Not unless you ask it to. All checkout-field management runs entirely inside your WordPress install. The single exception is the optional \"NINJA Updates\" card: only if you tick its consent box and submit your email does the plugin contact ninja.si to register your subscription. Leave it alone and nothing is ever sent.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>The <code>woocommerce_checkout_fields<\/code> filter is no longer applied, so the default WooCommerce fields come back immediately. Your saved configuration is preserved and restored when you reactivate.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: enable\/disable, required, label, placeholder, and priority controls for all standard WooCommerce checkout fields; HPOS compatibility; Reset to defaults action.<\/li>\n<\/ul>","raw_excerpt":"Manage WooCommerce checkout fields without touching code \u2014 enable\/disable, relabel, reorder, and set placeholders from one screen.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/318740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=318740"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sstucl"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=318740"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=318740"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=318740"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=318740"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=318740"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=318740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}