Descripció
Print product labels directly from your WooCommerce catalog. Open Alharthiweb Barcode Labels, select products, preview, and print using useful defaults.
Included in Free
- Code 39 barcodes using an unchanged SKU or Product ID.
- Automatic Product ID for an empty SKU; explicit alternative for incompatible SKUs.
- Single-product printing and selected batches with copies per product.
- Name or SKU search, categories, pagination and thumbnails.
- Product name, barcode number, SKU and WooCommerce-formatted price.
- Live structured label designer with sizes, margins, gaps, font and field controls.
- 50 x 30 mm, 40 x 25 mm and A4 presets; custom dimensions.
- English source UI on all locales; translation-ready with RTL support. Translations can be supplied separately.
- Shop Manager and Administrator access.
Useful for retail product stickers, shelf/stockroom labels and small WooCommerce stores. Free printing does not require an account. Pro requires a valid Freemius entitlement.
How it works
Open WooCommerce > Alharthiweb Barcode Labels, tick products, set copies, click Preview, then Print Labels. In the print document, click Print Labels to open the browser dialog. Match paper size, use 100% / Actual size and disable headers/footers. Test one label before a large run.
Pro edition (separate distribution)
Additional advanced features are available in Alharthiweb Barcode Labels Pro: Code 128, EAN-13, EAN-8, UPC-A, feature-detected WooCommerce GTIN fields, individual variations, saved custom printer profiles, JSON import/export, advanced label content, stock-based copies, keyboard-scanner reprinting and explicitly assigned internal barcodes.
Pro implementation is not included in this Free package. Free printing does not require a license.
Use one edition at a time.
Requires WooCommerce 8.2 or newer.
External Services
Freemius (https://freemius.com/) provides optional Free account/usage sharing, pricing, checkout and account management, and Pro licensing and paid updates. Its service uses api.freemius.com, wp.freemius.com, checkout.freemius.com and freemius.com. The local pricing app does not load Google Analytics. Opening pricing/checkout contacts the service; your browser sends its IP address, and the SDK sends the product ID/version and site context needed to display the plans. Purchasing sends the billing/contact data you enter directly to Freemius.
The SDK’s Free connection is optional: choose Skip to print without an account or optional usage tracking. Connecting or activating Pro sends the account email, site URL, WordPress/PHP/plugin versions and permissions shown on the SDK consent screen. Additional usage sharing remains under that consent; installation alone is not consent. The bundled SDK 2.13.4 makes its initial connectivity decision locally. Fresh-install observation found no Freemius request before consent or after Skip. Explicit Allow submits the consent form to wp.freemius.com; successful account connection is then subject to service availability. See Freemius Terms, Privacy Policy and Data Practices.
The WordPress.org Free edition uses WordPress.org updates. It does not download/install Pro or run the Freemius updater. Download the paid ZIP from your purchase email/account, deactivate Free yourself and install Pro through WordPress. Pro uses Freemius for authorized paid updates. Neither edition automatically changes another plugin’s activation state.
Barcode generation, product selection and printing run locally; those workflows do not send your catalog or labels to Freemius. Thumbnails and logos use their existing media URLs. Printing never changes SKU, GTIN or stock. Saved settings, printer profiles and internal barcode metadata remain through deactivation/removal. Without a Pro entitlement, Free printing remains usable and saved Pro configuration is preserved.
Third-party Source and Licenses
assets/admin.js is the complete, maintained human-readable source, shipped directly without compilation or minification. Its print CSS is constructed from readable string literals. The same applies to assets/barcode.js and the paid edition’s modules/pro/admin.js and validation.js.
To reproduce assets/vendor/JsBarcode.code39.js, use Node.js 22 or later from the plugin root: npm install --no-save --ignore-scripts jsbarcode@3.12.3 esbuild@0.25.10, then node assets/source/build-free.mjs. The bundled build script copies the pinned upstream source into the temporary library-source directory, selects only its Code 39 registry and produces the readable bundle; it changes no algorithm. The paid JsBarcode.all.js is the unmodified dist/JsBarcode.all.js in jsbarcode@3.12.3. These are developer build commands, never store activation steps.
This combined distribution is GPLv3. First-party code remains available under GPL-2.0-or-later; the bundled Freemius SDK 2.13.4 is GPL-3.0-only. See LICENSE and third-party-licenses.txt. JsBarcode 3.12.3 is MIT licensed: https://github.com/lindell/JsBarcode/tree/v3.12.3 . The readable Free bundle contains only Code 39.
Freemius SDK source and dependency metadata: https://github.com/Freemius/wordpress-sdk/tree/2.13.4 . Five local, documented distribution-policy hooks prevent Free updater initialization and paid-code installation. See vendor/freemius/POLICY-PATCH.txt. All other SDK PHP is unchanged. The pricing app 1.4.1 source is https://github.com/Freemius/pricing-page/tree/e698ea512a55839dda26be4a1fb7341e675d7053 . Human-readable source, licenses, pinned dependency lockfile and build instructions ship in assets/pricing-source/. Our build uses WordPress core React/ReactDOM instead of bundling duplicate copies. No Node or Composer installation is required on your store.
Captures




Instal·lació
- Activate WooCommerce.
- Upload and activate the plugin ZIP through Plugins > Add New.
- Open WooCommerce > Alharthiweb Barcode Labels and select a product.
- Preview, then print a test label using matching paper settings.
- Open Alharthiweb Barcode Labels > License & Account. In Pro, choose Activate License and enter your purchase-email key on the official Freemius screen. To change editions, deactivate the existing edition yourself, then upload and activate the new ZIP. Do the same for a pre-public 0.4.2 test copy. Settings and product data are reused; do not run both editions together.
PMF
-
Do I need to configure a printer profile first?
-
No. The default 50 x 30 mm label and built-in presets work immediately.
-
Why does my SKU fail Code 39?
-
Standard Code 39 accepts uppercase letters, digits, spaces and – . $ / + %. The plugin does not strip or uppercase your identifier. Choose the explicit Product ID alternative, or use Pro Code 128 for printable ASCII SKUs.
-
Does printing change stock or product identifiers?
-
No. Printing is read-only. Pro internal-barcode assignment is a separate explicit action and never replaces SKU or GTIN.
-
Does this work with every printer?
-
It produces browser print output with explicit millimeter dimensions. Paper/driver/scaling settings vary. Print one physical test label first. Universal hardware compatibility is not claimed.
-
Does it generate retail EAN/UPC numbers?
-
No. Pro validates and renders existing full identifiers; it does not allocate GTINs.
-
How large can a print job be?
-
Both editions allow up to 5,000 labels per job to protect browser memory. Jobs above 500 require confirmation. Split larger runs. There is no paid cap on Free product selection.
-
What happens if WooCommerce is inactive?
-
The plugin shows an administrator notice and does not load its normal functionality.
Ressenyes
No hi ha ressenyes per a aquesta extensió.
Col·laboradors i desenvolupadors
«Alharthiweb Barcode Labels» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradorsTraduïu «Alharthiweb Barcode Labels» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
0.4.5
- Keep label quantity and numeric settings in Western digits even with an Arabic browser locale.
- Preserve numeric ranges, decimal steps, keyboard adjustment, stored settings, Arabic text and exact barcode identifiers.
0.4.4
- Adopt the approved Alharthiweb Barcode Labels identity while retaining existing settings, identifiers and Freemius account data.
- Add distinctive internal identifiers with additive data migration, normal WordPress.org translation loading, and readable source/build documentation.
- Keep the consent callback on the official SDK screen until it saves account state, and handle return navigation without WooCommerce.
0.4.3
- Launch as Barcode Label Printer with a consistent folder, main file and text domain.
- Preserve stored data and require user-driven edition replacement.
- Keep Free updates on WordPress.org; disable remote Premium installation from Free.
- Use core React for pricing and include source/build metadata and service disclosures.
0.4.2
- Add an administrator-only License & Account tab with state-aware Freemius activation and account links.
- Fix invalid SVG dimensions and align the complete label consistently in preview and print, including RTL sites.
- Preserve product identifiers, stored settings and Free/Pro package separation.
0.4.1
- Keep English as the shipped UI on English and Arabic WordPress; external translation packs remain supported.
- Declare HPOS compatibility after auditing product-only storage access.
- Correct author metadata and expose locked Pro features without including their implementation in Free.
- Enable Freemius pricing and provide clear upgrade and account links.
0.4.0
- Fixed name-or-SKU search and explicit batch selection.
- Removed silent Code 39 identifier mutation.
- Fixed manager settings access, WooCommerce price formatting and dependency handling.
- Added a live designer, presets, print layout checks and visible errors.
- Added English-first strings, Arabic catalogs and RTL layout.
- Prepared separate Free and Pro distributions from one source tree.
- Integrated Freemius licensing and safe Free fallback; retained version 0.4.0 for this unreleased final integration.
0.3.3
- Original internal package; historical readme stable tag was 0.3.0.
