# Zactonz Number Plates for WooCommerce: FAQ

> Sell made-to-order number plates. Shoppers configure a registration, see it drawn to scale as they type, and the order carries production-ready SVG artwork from the same renderer.

Page: https://developers.zactonz.com/wordpress/plugins/zactonz-number-plates-for-woocommerce/faq/

Complete documentation for this product: https://developers.zactonz.com/wordpress/plugins/zactonz-number-plates-for-woocommerce.md

## Is the preview the same thing I manufacture?

Yes, and that is the point of the design. One layout computes every position, in millimetres, and everything is drawn from it: the preview on the product page, the picture in the email, and the artwork you download. All three draw the registration as shapes rather than setting it as text, so none of them depends on a font arriving and being honoured. A shopper cannot be shown their plate in a substituted typeface and approve it, and the file you manufacture from needs nothing installed.

## Why does a short registration leave so much white space?

Because the regulation asks for it. Anlage 4 requires the horizontal distance from the lettering to the border and to the Euro field to be the same on both sides, so the characters are centred rather than stretched across the plate. A three-character registration on a 520 mm plate genuinely has wide, equal margins. In practice a registration that short is ordered on a narrower plate, and the plate sizes a shopper can pick come from Anlage 4 rather than from this plugin.

The gaps inside the registration are not stretched either. They have the ranges the regulation gives and stay inside them, which is why a long registration is set a little tighter than a short one.

## Which plate types are offered?

Standard, Motorcycle, Electric and Historic. The E and H markings on Electric and Historic plates are drawn by the renderer in the same typeface, as the regulation requires, and do not count towards the position limit.

Moped plates (Versicherungskennzeichen) and seasonal plates (Saisonkennzeichen) are deliberately not offered. Both need DIN 1451-2 for part of their lettering, and no DIN 1451 face may be redistributed, so drawing them would mean setting a regulated plate in the wrong typeface.

## Why is a long registration refused?

Eight-position registrations on a plate that cannot fit them in FE-Mittelschrift need the narrower FE-Engschrift, which is not bundled because no redistributable Engschrift face was found. Rather than draw the plate badly, the plugin declines it with a reason. A merchant licensed to use an Engschrift face adds it with the `zctz_np_profile_faces` filter and those registrations start rendering.

## Where do the forbidden letter combinations come from?

The regulation says a registration must not offend against good morals; it does not publish a list. Germany's registration offices maintain their own, and they differ. The plugin therefore ships a short, documented default and exposes `zctz_np_blocked_sequences` so you can match the office you actually deal with. Treat the default as a starting point, not as law.

## Can I add another country?

Yes, with the `zctz_np_profiles` filter. The engine already treats a country as data: ordered fields with character classes, sizes in millimetres, colours, geometry and typefaces. What a new country needs is that data plus a typeface you are licensed to use, because the face is usually part of the specification. Germany ships complete; no other profile does yet.

Register it from your own plugin and keep its files there, because anything inside this plugin's directory is replaced when it updates.

## Can a shop owner add a plate size?

Not from the admin, by design. German plate sizes are fixed by Anlage 4; a size typed into a settings screen would produce a plate that cannot be registered, which is the failure this plugin exists to prevent. A developer who needs different sizes registers a profile of their own with the filter above.

## Does it work with the block Cart and Checkout?

Yes. The configured plate is attached through WooCommerce's own cart item data, so the classic cart and the block cart carry the same plate, and the plugin declares compatibility with High-Performance Order Storage and with the Cart and Checkout blocks. On the blocks the plate takes the place of the product photograph, because those blocks render line item details through a component that allows no images.

One limit for headless integrators: the Store API's add-item route carries the plate only when the request is form-encoded, as WooCommerce's own add-to-cart form sends it. A JSON body is refused with "Choose a plate type". Shoppers are unaffected, because on a block theme the product page renders the classic form and the blocks only read the cart.

## Why does my block theme's Add to Cart reload the page?

Because the configurator puts real form fields on the product page. WooCommerce's Add to Cart + Options block looks for form elements from extensions and, finding them, renders an ordinary form instead of its no-reload path. That fallback is WooCommerce's own behaviour, and it is what makes the same fields work on classic and block themes alike.

## Can a customer order the same plate again?

Yes. WooCommerce's **Order again** carries the configured plate forward into a new cart. WooCommerce shows that button only on completed orders, so a shop that leaves orders in the processing state will not see it until the order is completed.

## Are any custom database tables created?

No. Profiles are code and data, the product binding and surcharges are product meta, and the configured plate lives on the cart item and then the order line. There is nothing to migrate.

## What happens to an old order if I change the product?

Nothing. Each order line records the country rules it was configured under, so the artwork is still there after you switch the product to another country, turn plate mode off, or delete the product outright. An order you took is a record of what someone bought, and it stays manufacturable.

## Does it connect to anything outside my site?

No. The plugin makes no outbound requests, loads no fonts or scripts from a third party, and sends nothing anywhere.
