{"id":315248,"date":"2026-05-20T15:06:46","date_gmt":"2026-05-20T15:06:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dtfbuild-gang-sheet-builder\/"},"modified":"2026-09-18T16:27:49","modified_gmt":"2026-09-18T16:27:49","slug":"dtfbuild-gang-sheet-builder","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/dtfbuild-gang-sheet-builder\/","author":23501800,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.27","stable_tag":"0.4.27","tested":"6.9.8","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"DTFBuild Gang Sheet Builder","header_author":"DTFBuild","header_description":"Adds a DTFBuild gang sheet builder modal to WooCommerce products and ties selected sheet sizes to real WooCommerce variation prices.","assets_banners_color":"","last_updated":"2026-09-18 16:27:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1188,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.9":{"tag":"0.2.9","author":"dtfbuilde","date":"2026-05-20 15:30:26","revision":3539616},"0.3.7":{"tag":"0.3.7","author":"dtfbuilde","date":"2026-07-20 22:43:46","revision":3616267},"0.3.9":{"tag":"0.3.9","author":"dtfbuilde","date":"2026-07-31 20:49:25","revision":3630480},"0.4.0":{"tag":"0.4.0","author":"dtfbuilde","date":"2026-07-31 21:05:12","revision":3630490},"0.4.11":{"tag":"0.4.11","author":"dtfbuilde","date":"2026-08-27 09:42:09","revision":3668491},"0.4.12":{"tag":"0.4.12","author":"dtfbuilde","date":"2026-08-27 10:06:32","revision":3668549},"0.4.15":{"tag":"0.4.15","author":"dtfbuilde","date":"2026-09-09 18:04:13","revision":3688807},"0.4.17":{"tag":"0.4.17","author":"dtfbuilde","date":"2026-09-10 11:25:16","revision":3689807},"0.4.18":{"tag":"0.4.18","author":"dtfbuilde","date":"2026-09-12 07:39:12","revision":3692435},"0.4.19":{"tag":"0.4.19","author":"dtfbuilde","date":"2026-09-12 18:30:26","revision":3693005},"0.4.26":{"tag":"0.4.26","author":"dtfbuilde","date":"2026-09-16 13:34:35","revision":3698677},"0.4.27":{"tag":"0.4.27","author":"dtfbuilde","date":"2026-09-18 16:27:49","revision":3702335},"0.4.4":{"tag":"0.4.4","author":"dtfbuilde","date":"2026-08-01 16:49:10","revision":3631154},"0.4.5":{"tag":"0.4.5","author":"dtfbuilde","date":"2026-08-01 16:59:03","revision":3631159},"0.4.6":{"tag":"0.4.6","author":"dtfbuilde","date":"2026-08-01 18:01:32","revision":3631198},"0.4.7":{"tag":"0.4.7","author":"dtfbuilde","date":"2026-08-07 18:18:15","revision":3638218},"0.4.9":{"tag":"0.4.9","author":"dtfbuilde","date":"2026-08-26 11:27:42","revision":3666881}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3616358,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3616358,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.9","0.3.7","0.3.9","0.4.0","0.4.11","0.4.12","0.4.15","0.4.17","0.4.18","0.4.19","0.4.26","0.4.27","0.4.4","0.4.5","0.4.6","0.4.7","0.4.9"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The builder modal interface where customers arrange their designs.","2":"The WooCommerce plugin settings panel.","3":"Cart view showing the generated project details without exposing production file links to customers."}},"plugin_section":[],"plugin_tags":[6410,263711,263712,13075,890],"plugin_category":[],"plugin_contributors":[263713],"plugin_business_model":[],"class_list":["post-315248","plugin","type-plugin","status-publish","hentry","plugin_tags-builder","plugin_tags-dtf","plugin_tags-gang-sheet","plugin_tags-print-on-demand","plugin_tags-printing","plugin_contributors-dtfbuilde","plugin_committers-dtfbuilde"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dtfbuild-gang-sheet-builder\/assets\/icon-128x128.png?rev=3616358","icon_2x":"https:\/\/ps.w.org\/dtfbuild-gang-sheet-builder\/assets\/icon-256x256.png?rev=3616358","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>DTF Sheet Builder is a professional integration for WooCommerce that allows your customers to visually build, pack, and configure their Direct-to-Film (DTF) gang sheets directly on your product pages.<\/p>\n\n<p>By integrating this plugin, you connect your store to a cloud-hosted builder application. Customers can upload designs, arrange them on a canvas matching your product variations, and generate print-ready PNG or PDF files.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Connect DTFBuild Account<\/strong>: Sign in, approve your exact store, and return with your Shop ID configured automatically. Switch account, disconnect, or use manual Shop ID and pairing token setup.<\/li>\n<li><strong>Automatic Roll Length<\/strong>: Optional mode for a dedicated simple product, with fixed width, meter rate, minimum billed length and rounding. Uses verified 300-DPI PNG output. Fixed-size variations retain their existing pricing.<\/li>\n<li><strong>Visual Builder<\/strong>: High-fidelity, drag-and-drop gang sheet builder modal.<\/li>\n<li><strong>Auto-detect Dimensions<\/strong>: Automatically reads sheet sizes from WooCommerce variation titles (e.g., \"22x50\").<\/li>\n<li><strong>Multi-format Output<\/strong>: Generate print-ready files in PNG or PDF formats.<\/li>\n<li><strong>Crazy Packing<\/strong>: Advanced auto-packing algorithm to save material space.<\/li>\n<li><strong>Customer Tutorial<\/strong>: Add an optional tutorial link and customer-facing button label to the embedded builder.<\/li>\n<li><strong>Sample Job Control<\/strong>: Hide the embedded builder's sample-job shortcut when it is not needed.<\/li>\n<li><strong>Customer Artwork Previews<\/strong>: Show watermarked, low-resolution sheet previews in the cart, checkout, order confirmation and My Account order details. Production files stay merchant-only.<\/li>\n<li><strong>Multi-language<\/strong>: Built-in support for English, French, German, Spanish, Hungarian, and Arabic.<\/li>\n<li><strong>Unit Support<\/strong>: Switch seamlessly between Inches and Centimeters.<\/li>\n<li><strong>Product Dashboard<\/strong>: Select storefront products and configure each product from one central screen.<\/li>\n<li><strong>Per-Variation Controls<\/strong>: Enable individual variations and assign exact width and height values in the store's default unit.<\/li>\n<li><strong>Per-Product Button Designer<\/strong>: Customize button text, icon, helper text, colors, width, alignment, corner radius, typography, spacing, border, and shadow for each product.<\/li>\n<li><strong>Update Alerts<\/strong>: See when a newer WordPress.org release is ready from inside the DTFBuild dashboard.<\/li>\n<\/ul>\n\n<h3>\u26a0\ufe0f External Service Disclosure<\/h3>\n\n<p>This plugin acts as a bridge to a cloud-based Software as a Service (SaaS). \n- <strong>Service Used<\/strong>: DTF Sheet Builder App (hosted externally).\n- <strong>Purpose<\/strong>: The external builder is required to process uploaded images, perform the packing algorithm, and generate the final print-ready sheet files.\n- <strong>Operational connection reporting<\/strong>: After a merchant configures a valid Shop ID, the plugin sends the store domain, plugin version, connection state, URLs of products where the merchant enabled the DTFBuild button, and embedded-builder usage to DTFBuild. It does not send customer identity, order revenue, uploaded artwork, or general storefront traffic. This data is used to operate the integration and show connected-store health in DTFBuild's private administration tools.\n- <strong>Account connection<\/strong>: Automatic setup opens https:\/\/dtfbuild.com for sign-in and explicit store approval. The plugin exchanges a short-lived authorization code server-to-server and stores a private installation credential. Your DTFBuild password and login session are not sent to WordPress. The approved domain is added to your DTFBuild Store access settings. HTTPS and a same-origin WordPress admin are required; manual setup remains available.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/dtfbuild<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to <code>WooCommerce -&gt; DTFBuild -&gt; Settings<\/code>, click <code>Connect DTFBuild account<\/code>, sign in and approve the store. Your Shop ID appears automatically. Alternatively, expand <code>Manual setup (fallback)<\/code> and enter your Shop ID and fresh pairing token. Configure your builder defaults.<\/li>\n<li>Open the <code>Products<\/code> tab, select the storefront products that should use DTFBuild, and save.<\/li>\n<li>Click <code>Configure product<\/code> for each selected product to configure its button, pricing mode, and sheet dimensions. Automatic roll length requires a simple product.<\/li>\n<li>The builder button will appear on the product page when a customer selects an enabled variation.<\/li>\n<\/ol>\n\n<p>Installation video: https:\/\/youtu.be\/NuY2HAEiNHM<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20to%20use%20this%3F\"><h3>Do I need an account to use this?<\/h3><\/dt>\n<dd><p>Yes, the plugin requires a valid Shop ID from the DTF Sheet Builder platform.<\/p><\/dd>\n<dt id=\"does%20it%20support%20variable%20products%3F\"><h3>Does it support variable products?<\/h3><\/dt>\n<dd><p>Yes! It is specifically designed to work with WooCommerce Variable Products, mapping the selected variation's dimensions to the builder canvas.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.27<\/h4>\n\n<ul>\n<li>Add a size from the product editor: type a width, a height and a price, and the size is created on the product as a new variation, ticked and ready to sell. It is named like the product's other sizes, a size it already has is refused, and it never shows out of stock.<\/li>\n<li>Edit a size in place: change its width, height or price in the product editor and save. A size named after its dimensions, like 30X200, is renamed to match on the product page; other names are left alone, and a shared global Size value is never renamed for other products.<\/li>\n<li>Delete a size from the product editor: it is marked until you save, with Undo, and the last size always stays. Its value leaves the product's Size list; a shared global Size value is only unlinked, never deleted.<\/li>\n<li>Settings and the product editor now use clear tabs, easy to tell apart from the choices under them.<\/li>\n<li>The product editor keeps its title, tabs and Save button in view; only the sizes and settings scroll.<\/li>\n<li>The PNG + PDF output choice is gone. Stores that had it now get a PDF; PNG only and PDF only stay as they were.<\/li>\n<\/ul>\n\n<h4>0.4.26<\/h4>\n\n<ul>\n<li>A gang sheet's cart image no longer stretches the cart row down the page: it shows as a small square with the whole sheet inside, in the classic cart, the Cart and Checkout blocks and the mini cart. View artwork still opens every sheet full size.<\/li>\n<\/ul>\n\n<h4>0.4.25<\/h4>\n\n<ul>\n<li>A product on automatic roll length no longer shows the \"Sheet width in inches\" box, which it never used; it says where its width is set instead, in centimetres and inches.<\/li>\n<li>On fixed-size products the inches box shows its centimetre equivalent as you type, so a width entered in the wrong unit is easy to spot.<\/li>\n<li>Saving a roll product keeps the width set while it used fixed sizes, instead of resetting it to 22 inches.<\/li>\n<\/ul>\n\n<h4>0.4.24<\/h4>\n\n<ul>\n<li>A View artwork button on every gang sheet line: one click opens the sheets full size, with arrow keys and Esc, in the cart, at checkout, on the order confirmation and in My Account.<\/li>\n<li>The button says how many sheets the job has and opens every one of them, including the ones a narrow cart column cannot show.<\/li>\n<li>The Cart and Checkout blocks strip images from item details, so they showed a row of bare \"Sheet 1, Sheet 2\" links; they now show the button instead.<\/li>\n<\/ul>\n\n<h4>0.4.23<\/h4>\n\n<ul>\n<li>A Storefront translations tab: change the words customers read inside the gang sheet builder, in any of the six languages, without touching DTFBuild.<\/li>\n<li>Each string shows the wording it replaces and the English alongside; an empty box keeps DTFBuild's own translation.<\/li>\n<li>The list of strings comes from the builder itself, so a new one appears without waiting for a plugin update.<\/li>\n<\/ul>\n\n<h4>0.4.22<\/h4>\n\n<ul>\n<li>The Orders table shows the customer, every gang sheet on the order and its status at a glance, instead of one crowded row of links.<\/li>\n<li>A View button opens the full order details: sheet size, sheets, copies, quantity, project ID, every sheet preview full size, and the print file downloads.<\/li>\n<li>Each order carries a single file status, so an order whose files are still rendering or missing stands out.<\/li>\n<\/ul>\n\n<h4>0.4.21<\/h4>\n\n<ul>\n<li>Products open on a Sheet type tab: choose Fixed sheet sizes or Automatic roll length on illustrated cards, with the matching settings right below.<\/li>\n<li>Gang sheet quantities are locked in the cart and checkout, including the Cart and Checkout blocks, so customers cannot pay for fewer sheets or copies than they built. Removing the item still works.<\/li>\n<li>A help button on every tab: contact DTFBuild or report an issue, with screenshots. A What's new tab lists recent changes.<\/li>\n<li>The Installation guide shows which setup steps your store has finished and opens the right tab for the next one.<\/li>\n<li>Admin pages load faster: the menu badge is cached and the order sync runs in the background.<\/li>\n<\/ul>\n\n<h4>0.4.20<\/h4>\n\n<ul>\n<li>Order references sit below the WooCommerce order number, making every project easier to scan.<\/li>\n<li>The dashboard uses the DTFBuild color system and a cleaner, more compact table hierarchy.<\/li>\n<\/ul>\n\n<h4>0.4.19<\/h4>\n\n<ul>\n<li>Fixed a connection failure that reported \"DTFBuild approved the connection, but WordPress could not save its private credential\" on a credential that had saved correctly. A store whose saved credential was still bound to another DTFBuild environment read that environment's entry instead, so the check after the write never matched. Connecting now binds the credential to the environment it was approved on and repairs a store already in that state.<\/li>\n<li>The connection area no longer stacks the previous attempt's error under the current one, and the stored service error reads as a complete sentence.<\/li>\n<li>Production ZIP downloads on the order screens are now named with the order number, sheet count, total sheet size and date, instead of the internal project ID.<\/li>\n<\/ul>\n\n<h4>0.4.18<\/h4>\n\n<ul>\n<li>The plugin interface and the storefront strings customers see are now translated into Arabic, French, German, Hungarian and Spanish, and fall back to English for any string a locale has not translated yet.<\/li>\n<li>Translations load from the bundled language files, so a site running one of those locales needs no extra setup.<\/li>\n<\/ul>\n\n<h4>0.4.17<\/h4>\n\n<ul>\n<li>Customers now see their own watermarked sheet artwork in the cart, at checkout, on the order confirmation, and in My Account order details, including multi-sheet and automatic roll-length orders. The cart line image shows the customer's first sheet instead of the catalog photo.<\/li>\n<li>Merchants see the same artwork on the WooCommerce order screens, listing every sheet. Clicking a sheet opens it full size, with arrow-key and Esc navigation.<\/li>\n<li>Cart and Checkout blocks show the customer's first sheet as the line image, and each sheet as a link. These blocks remove images from item details, so thumbnails there appear on the line image instead.<\/li>\n<li>Long jobs show the first four sheets and a remaining count, so order totals stay visible in narrow cart and checkout columns.<\/li>\n<li>Sheet thumbnails size themselves even where no stylesheet loads, such as order emails.<\/li>\n<li>Preview images are low-resolution and watermarked. Production files and their links remain merchant-only, as before.<\/li>\n<li>Fixed: automatic roll-length orders showed \"Files unavailable\" in the DTFBuild Orders tab and offered no download. The complete print ZIP is now always available whenever the order has a manifest.<\/li>\n<li>Removed the \"Download file\" button, which only ever downloaded the first sheet of a job. Orders without a manifest keep it as their single download.<\/li>\n<li>The Orders tab now shows the time alongside the date, using the store's own date and time formats.<\/li>\n<li>Requires the matching DTFBuild builder release; without it, orders are stored and priced exactly as in 0.4.15 but show no preview images.<\/li>\n<\/ul>\n\n<h4>0.4.15<\/h4>\n\n<ul>\n<li>Fixed: switching Builder origin between production and development no longer overwrites and permanently loses the other environment's connection credential. Each environment's Shop ID and private credential are now preserved and restored on switch.<\/li>\n<\/ul>\n\n<h4>0.4.14<\/h4>\n\n<ul>\n<li>Roll settings now show live inch\/foot equivalents and converted per-foot\/per-inch rates. Corrected the simple-product unit guidance.<\/li>\n<li>Added optional automatic roll-length pricing for simple products. The matching DTFBuild backend verifies PNG dimensions and preserves immutable production files. Minimum and rounding apply to total job length; quantity buys whole-job copies. First version: 300-DPI PNG, up to 20 print files \/ 256 MB per job.<\/li>\n<li>Added an optional store-account login requirement before opening the builder and uploading artwork. Requires the matching DTFBuild server release and a connected store.<\/li>\n<li>Show a live inch equivalent beneath the centimeter spacing input.<\/li>\n<li>Preserve zero spacing in storefront configuration and use defaults only for missing or invalid values. The matching shared builder update is required for zero-gap generation.<\/li>\n<\/ul>\n\n<h4>0.4.13<\/h4>\n\n<ul>\n<li>Added an optional merchant tutorial link and configurable button label to the embedded builder. YouTube links play in an in-builder video modal.<\/li>\n<li>Added a setting to hide the embedded builder's \u201cTry a sample job\u201d shortcut.<\/li>\n<li>Organized settings into General and Embed experience panels.<\/li>\n<li>Prepared embedded customers to upload PDF artwork through the shared DTFBuild builder.<\/li>\n<\/ul>\n\n<h4>0.4.12<\/h4>\n\n<ul>\n<li>Fixed add-to-cart failures for WooCommerce variations configured with an \"Any\" attribute value.<\/li>\n<li>Send the customer\u2019s actual selected product option and validate it against the parent product before adding the generated sheet.<\/li>\n<\/ul>\n\n<h4>0.4.11<\/h4>\n\n<ul>\n<li>Persist private account-connection state outside the transient cache so cache eviction cannot lose an approval in progress.<\/li>\n<li>Keep the last connection result visible after redirects and refreshes, including the service HTTP error when available.<\/li>\n<li>Verify that the Shop ID and credential were saved before reporting success; retain retry proof when a local write fails.<\/li>\n<li>Skip background integration requests during the account callback and preserve disabled builder options when saving the connection.<\/li>\n<\/ul>\n\n<h4>0.4.10<\/h4>\n\n<ul>\n<li>Added automatic DTFBuild account connection with explicit store approval and a displayed Shop ID.<\/li>\n<li>Added Switch account, Disconnect, and safe retry for an interrupted connection exchange.<\/li>\n<li>Kept manual Shop ID and pairing token setup as a fallback.<\/li>\n<li>Protected account callbacks with admin capability, session binding, short-lived approval codes and a private PKCE verifier.<\/li>\n<\/ul>\n\n<h4>0.4.9<\/h4>\n\n<ul>\n<li>Added direct vendor-dashboard and product-page links to the plugin dashboard.<\/li>\n<li>Kept secure internal project IDs while showing merchants and customers a short five-character reference.<\/li>\n<li>Added safe fallback order sync controls with duplicate detection, expiry checks, and a 50-project limit.<\/li>\n<li>Added automatic processing for vendor-requested WooCommerce order recovery.<\/li>\n<li>Improved Shop ID changes with fresh pairing validation and clear connection errors.<\/li>\n<li>Repositioned update controls so third-party WordPress notices cannot split the dashboard header.<\/li>\n<\/ul>\n\n<h4>0.4.8<\/h4>\n\n<ul>\n<li>Require a short-lived one-time pairing token before the first store connection.<\/li>\n<li>Preserve signed production-file access links when creating ZIP downloads.<\/li>\n<li>Report the published product pages where the merchant enabled the DTFBuild button.<\/li>\n<\/ul>\n\n<h4>0.4.7<\/h4>\n\n<ul>\n<li>Added a complete per-product storefront button designer with live preview.<\/li>\n<li>Added controls for button width, alignment, corner radius, font size and weight, padding, border, and shadow.<\/li>\n<li>Added optional icon placement and customizable helper text below the button.<\/li>\n<li>Split variation sizing and storefront button design into focused tabs inside the product editor.<\/li>\n<li>Removed the old 520px storefront width limit so full-width buttons follow the merchant's selected width.<\/li>\n<\/ul>\n\n<h4>0.4.6<\/h4>\n\n<ul>\n<li>Added a safe Remove action for individual DTF projects in the merchant dashboard.<\/li>\n<li>Kept the original WooCommerce order and production files unchanged when a project is removed from DTFBuild.<\/li>\n<li>Excluded hidden projects from the dashboard count and order list.<\/li>\n<\/ul>\n\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Added a direct WordPress.org version check when the normal WordPress update cache has no result.<\/li>\n<li>Added a manual Check for updates button to the DTFBuild dashboard.<\/li>\n<li>Reduced failed-check caching so newly published releases are detected sooner.<\/li>\n<li>Displayed update alerts to shop managers while limiting installation actions to plugin administrators.<\/li>\n<\/ul>\n\n<h4>0.4.4<\/h4>\n\n<ul>\n<li>Added a live dimension preview to every product variation while the merchant types.<\/li>\n<li>Added green matching and red mismatch validation against the dimensions in the WooCommerce variation.<\/li>\n<li>Displayed the expected variation dimensions when configured values do not match.<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Added clear variation attributes, configured dimensions, variation IDs, SKUs, and prices to the product configuration editor.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Made the global default unit the single unit setting for every product variation and the embedded builder.<\/li>\n<li>Sent sheet width, height, order metadata, and manifest dimensions in the configured store unit.<\/li>\n<li>Preserved physical sheet dimensions when switching the global unit and migrated legacy per-variation units automatically.<\/li>\n<li>Locked the embedded builder display to the print shop's configured unit.<\/li>\n<li>Displayed imperial roll length in feet.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fixed automatic product sizes so they honor the configured default unit.<\/li>\n<li>Displayed metric width and height values in centimeters and metric roll length in meters.<\/li>\n<li>Kept production asset URLs private while preserving merchant downloads in the DTFBuild Orders dashboard.<\/li>\n<li>Hid production asset URLs and corrected metric values when viewing orders created with earlier plugin versions.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Added an in-dashboard update alert when a newer WordPress.org release is available.<\/li>\n<\/ul>\n\n<h4>0.3.9<\/h4>\n\n<ul>\n<li>Added the new WooCommerce installation video to the setup guide and Installation Guide dashboard tab.<\/li>\n<\/ul>\n\n<h4>0.3.8<\/h4>\n\n<ul>\n<li>Added Hungarian as a default builder language option.<\/li>\n<\/ul>\n\n<h4>0.3.7<\/h4>\n\n<ul>\n<li>Added a Download ZIP button to WooCommerce orders while preserving individual sheet downloads.<\/li>\n<li>Fixed the vendor dashboard hiding ZIP downloads for PDF-only orders.<\/li>\n<\/ul>\n\n<h4>0.3.6<\/h4>\n\n<ul>\n<li>Fixed WooCommerce order dashboards showing only the first generated sheet file.<\/li>\n<li>Added one labeled download button per sheet and format, including enabled cut maps.<\/li>\n<li>Preserved the single-file fallback for older orders without a readable manifest.<\/li>\n<\/ul>\n\n<h4>0.3.5<\/h4>\n\n<ul>\n<li>Restored browser-only production file generation for customer privacy.<\/li>\n<li>WooCommerce receives completed print files uploaded by the embedded builder.<\/li>\n<li>Original customer artwork is never staged for server-side rendering.<\/li>\n<\/ul>\n\n<h4>0.3.4<\/h4>\n\n<ul>\n<li>Fixed the Orders download button opening the JSON manifest instead of the print-ready PDF or PNG.<\/li>\n<li>Added backwards-compatible print-file resolution for existing orders that stored only the manifest URL.<\/li>\n<li>Removed the separate Manifest button from the Orders dashboard.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Prevented legacy page snippets and the plugin from submitting the same completed project twice.<\/li>\n<li>Moved the cart handoff to a dedicated native WooCommerce AJAX endpoint instead of public wp-admin AJAX.<\/li>\n<li>Made cart retries idempotent so a closed connection cannot create duplicate paid lines.<\/li>\n<li>Improved connection-closed errors with a retryable message.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Restored the original Orders table columns: Order, Date, Customer, DTF Details, Status, and Actions.<\/li>\n<li>Grouped multiple DTF projects from the same WooCommerce order into one order row.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fixed long sheets appearing stuck at \"Adding to cart\" by avoiding redundant full-resolution PNG generation for PDF-only orders.<\/li>\n<li>Added visible preparation and upload progress during the store handoff.<\/li>\n<li>Added immediate WooCommerce cart preflight responses and reliable success\/error messages back to the builder.<\/li>\n<li>Added a timeout and retry-friendly error state when WooCommerce does not answer the cart request.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Matched the Shopify app dashboard with Orders, Settings, Products, Installation guide, and Contact us tabs.<\/li>\n<li>Added centralized product selection with a 25-product limit.<\/li>\n<li>Added per-product button text, background color, and text color controls with live preview.<\/li>\n<li>Added per-variation enable, width, height, and unit settings.<\/li>\n<li>Added server-side validation for enabled products, variations, dimensions, and builder asset URLs.<\/li>\n<li>Preserved WooCommerce variation prices as the checkout source of truth.<\/li>\n<\/ul>\n\n<h4>0.2.9<\/h4>\n\n<ul>\n<li>Added a new \"Contact Us\" tab for quick support access.<\/li>\n<li>Added a video tutorial section to the \"How It Works\" tab.<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<ul>\n<li>Fixed an issue where recent DTF orders were not displaying in the Orders tab.<\/li>\n<li>Added a notification badge to the DTFBuild menu indicating the number of unread\/processing DTF orders.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<ul>\n<li>Redesigned the plugin admin settings page to use a clean, tabbed interface.<\/li>\n<li>Added a new \"Orders\" tab to quickly view recent WooCommerce orders containing DTF projects.<\/li>\n<li>Added a new \"How It Works\" tab with a step-by-step setup guide.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Added multi-language support (EN, FR, DE, ES, AR).<\/li>\n<li>Added unit persistence for customers (Inches \/ Centimeters).<\/li>\n<li>Added admin configuration for default language.<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Added support for PDF and PNG output formats.<\/li>\n<li>Added Crazy Packing feature configuration.<\/li>\n<li>Added DPI and spacing controls to the admin settings.<\/li>\n<li>Improved cart metadata UI layout.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A powerful DTF Gang Sheet Builder integration for WooCommerce. Allows your customers to build and customize their gang sheets directly in your store.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/315248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=315248"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dtfbuilde"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=315248"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=315248"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=315248"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=315248"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=315248"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=315248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}