Install StitchPress
Requirements
- PHP 7.4 or later.
- WordPress 6.2 or later.
- WooCommerce, installed and active. The WooCommerce versions StitchPress is tested against are listed in
readme.txtin the plugin zip (theWC requires at leastandWC tested up tolines). - The PHP GD extension is recommended. StitchPress uses it to measure uploaded artwork (resolution and detail warnings) and to draw the small preview pictures shown in the cart and on the Job Jacket. Without GD, orders still go through: estimates that need a measurement are marked as unmeasured and no preview pictures are drawn.
- WP-Cron running, or a real cron job calling
wp-cron.php. StitchPress runs one daily cleanup task (see What activation creates).
StitchPress works with any theme. It needs no other plugin besides WooCommerce.
Install from the zip
- In the WordPress admin, go to Plugins > Add New and click Upload Plugin.
- Choose the StitchPress zip file and click Install Now.
- Click Activate Plugin.
- A StitchPress menu appears in the admin sidebar, just below the WooCommerce menus.
If WooCommerce is not active, StitchPress shows the notice "StitchPress requires WooCommerce to be installed and active." and does nothing else until you activate WooCommerce.
Next: follow the Quick start.
What activation creates
Activation is deliberately small.
- Three database tables, with your table prefix:
stp_palettesandstp_palette_entries(your thread and ink charts) andstp_fonts(your uploaded fonts). - One option,
stp_db_version, which records the table version so updates can apply schema changes. - No settings. Every setting has a built-in default. Nothing is written to the options table until you save StitchPress > Settings, and an empty or zero field means "use the default".
On the first page load after activation, StitchPress schedules one daily task, stp_artwork_gc. It deletes customer artwork that was uploaded but never ordered (after 30 days by default) and preview pictures nothing has used for a while. Artwork referenced by an order, a live cart or a saved cart is never deleted.
Upload folders
StitchPress creates its folders under wp-content/uploads/ the first time each one is needed, not at activation:
| Folder | Created when | Holds |
|---|---|---|
stp-artwork/ |
a customer uploads artwork | customer logos and files |
stp-fonts/ |
you upload a font | your font files |
stp-proofs/ |
you upload a proof round | proof mockups |
stp-previews/ |
a cart preview is first drawn | small preview pictures, rebuilt on demand |
How the files are protected:
- Each folder gets an
index.phpfile so the web server cannot list its contents. - Every stored file gets a random 24-character name. The customer's original file name is kept only as a label on the order.
- Only JPG, PNG and PDF are accepted for artwork and proofs. SVG is never accepted, because an SVG file can carry script.
- Each file's first bytes must match its extension, in addition to WordPress's own type check.
- Staff open customer PDFs and proof files through a download link that checks the user's permission and a security token. JPG and PNG thumbnails are served directly because the browser has to display them.
StitchPress writes no .htaccess rules.
Deactivating
- The daily cleanup task is removed.
- Orders that are waiting at "Awaiting proof approval" are moved to On hold with an order note saying the proof has not been approved. That status belongs to StitchPress and disappears while the plugin is off, so this keeps those orders visible.
- All data stays: templates, palettes, fonts, orders and files.
Deleting the plugin
Deleting StitchPress from the Plugins screen never removes order data: the design record on each order line and the proof history on each order stay, so old orders keep their placement, colors, text, font name and proof decisions.
What else is removed depends on two settings under StitchPress > Settings > Data:
| What | Removed when |
|---|---|
Cart preview pictures (stp-previews/), saved-design links, temporary records such as rate-limit counters, and StitchPress scheduled tasks |
always, because they are rebuilt on demand or short-lived |
| Settings, palettes, fonts, templates and their assignments on products and categories, and the demo data if you imported it | Remove all StitchPress data when the plugin is deleted is on (off by default) |
Customer artwork, your font files and proof images (stp-artwork/, stp-fonts/, stp-proofs/) |
Also delete uploaded files on uninstall is on as well (off by default) |
Keep the upload folders if you may need to reprint old orders: the order records point at those files. If you imported demo data, the simplest path is to click Remove demo data under StitchPress > Demo data before deleting the plugin.
On a multisite network, each site is cleaned according to its own settings.
License key
Your license key pays for updates and support. No StitchPress feature checks the license: a missing or expired key never turns anything off, and the designer, templates, orders, proofs and Job Jackets keep working.
Enter the key under StitchPress > Licence. Activation registers this site with the licensing service once and turns on updates; nothing contacts the service before a key is entered. A site recognised as local, development or staging (WordPress environment type, or a host such as localhost, a .local or .test address, or a name with staging, stage or dev as its own part) is recorded but never counted as a seat.
Staging sites
- Email goes out from staging. Sending a proof from a copied order emails the real customer on that order. Install a mail-catching plugin, or turn off outgoing mail, on any staging copy that holds real orders.
- Proof links point at the site that sent them. A link sent from staging opens on staging.
- Copy the upload folders with the database. Order records store artwork, font and proof paths relative to
wp-content/uploads/, so moving a site keeps orders intact as long asstp-artwork/,stp-fonts/andstp-proofs/move with it. - Clear page caches after moving. See Troubleshooting.