Description
Onlinefotka Parcel Shipping with GLS is a full-featured GLS carrier integration for WooCommerce. Connect your GLS account, generate shipping labels directly from the order screen, and give customers the option to pick up their parcels at a GLS Parcel Shop or Parcel Locker.
Built with full HPOS (High Performance Order Storage) and WooCommerce Checkout Blocks compatibility, plus a clean modern settings interface.
Shipping Methods
- GLS Standard — home delivery, weight-based pricing, free shipping threshold
- GLS Parcel Shop — customer selects a pickup point from an interactive map at checkout
- GLS Parcel Locker — customer selects a 24/7 automated locker at checkout
- Per-method: enable/disable, custom title, default price, weight-based rates, free shipping above, supported countries
Label Management
- Generate GLS shipping labels directly from the WooCommerce order screen
- Print individual or bulk labels (PDF)
- A4 and thermal printer support with configurable print position
- Customizable client reference and parcel content fields
- Delete labels (also cancels the parcel in GLS system when possible)
Advanced GLS Services
- Contact Service (CS1) — sends customer phone number to the courier
- Flexible Delivery Email (FDS) — customer can reschedule via email link
- Flexible Delivery SMS (FSS) — reschedule via SMS
- SMS Service (SM1) — tracking number sent by SMS with custom text
- SMS Pre-advice (SM2) — pre-delivery SMS notification
- Addressee Only (AOS) — parcel delivered only to the named recipient
- Insurance (INS) — insures parcel for the full order value
- 24H Guaranteed / Express — expedited delivery options
Automation
- Auto-generate GLS label when order moves to selected WooCommerce status
- Live tracking sync via WP-Cron — automatically fetch GLS parcel status and update order notes
- Status mapping — automatically change WooCommerce order status based on GLS delivery status (by code or keyword)
Tracking
- Tracking numbers injected automatically into all WooCommerce order emails
- Self-service tracking page via
[gls_tracking]shortcode — customers look up their parcel using order number + order key - GLS tracking link in the order admin panel
Requirements
- WordPress 6.0 or higher
- WooCommerce 7.0 or higher
- PHP 7.4 or higher
- Active GLS account with API access
External services
This plugin connects to two external services provided by GLS:
1. MyGLS REST API (api.mygls.*)
Used for generating shipping labels, retrieving delivery-point (Parcel Shop / Parcel Locker) data, and tracking parcel status. The plugin sends data to this service when:
- You generate a GLS label from an order — sends sender address, recipient address, parcel weight, and selected GLS services to the API.
- You request the list of Parcel Shop or Parcel Locker locations — sends the country code and optional search coordinates.
- The automatic tracking sync (WP-Cron) fetches parcel status — sends parcel numbers.
The exact API endpoint depends on the GLS subsidiary country configured in the plugin settings (e.g. api.mygls.sk, api.mygls.cz, api.mygls.hu).
- GLS Group website: https://gls-group.eu/
- MyGLS portal: https://mygls.sk/ (country-specific variants available)
- GLS Privacy Notice: https://gls-group.com/GROUP/en/data-protection/
- GLS Terms of Use: https://mygls.sk/podmienky-pouzivania/ (varies by country subsidiary)
2. GLS Delivery Point Map widget (map.gls-croatia.com)
When the GLS Parcel Shop shipping method is active, the plugin loads a JavaScript widget from map.gls-croatia.com at checkout to display an interactive map for selecting a pickup point. This widget is provided by GLS and may set its own cookies or collect usage data per GLS’s privacy policy linked above.
Installation
- Upload the plugin folder to
/wp-content/plugins/or install via Plugins Add New - Activate the plugin
- Go to WooCommerce GLS Shipping and enter your GLS API credentials
- Configure shipping zones in WooCommerce Settings Shipping
FAQ
-
Which GLS countries are supported?
-
The plugin supports GLS subsidiaries in Slovakia (SK), Czech Republic (CZ), Hungary (HU), Poland (PL), Germany (DE), Romania (RO), Serbia (RS), Croatia (HR), Slovenia (SI), and more — wherever GLS offers REST API v2 access.
-
Is this compatible with HPOS?
-
Yes. The plugin is fully compatible with WooCommerce High Performance Order Storage (HPOS / custom_order_tables).
-
Is this compatible with the WooCommerce Checkout Block?
-
Yes. The Parcel Shop and Parcel Locker location picker works in both classic and block-based checkout. The plugin uses the
ExperimentalOrderShippingPackagesslot to inject the pickup selector directly below the shipping rates in the checkout block. -
How do I get GLS API credentials?
-
Contact your local GLS subsidiary and ask for REST API v2 access. You will receive a username and password for the GLS portal/API.
-
Can customers choose a Parcel Shop at checkout?
-
Yes. When the GLS Parcel Shop shipping method is enabled, a location picker appears at checkout. Customers select their preferred pickup point from an interactive map.
-
Does the tracking shortcode require login?
-
No. Customers enter their order number and order key (from the confirmation email). The order key ensures only the rightful customer can view their order’s tracking status.
-
Are labels stored securely?
-
Yes. PDF label files are stored in the WordPress uploads directory under a protected subfolder with an
.htaccessthat blocks direct access. Labels are served only through an authenticated, nonce-protected download URL.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Onlinefotka Parcel Shipping with GLS for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Onlinefotka Parcel Shipping with GLS for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Onlinefotka Parcel Shipping with GLS for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.5
- Fixed bulk label download failing on servers with object cache (Redis/Memcached) — transient key is now always stored in lowercase to match sanitize_key() used during retrieval
1.0.4
- Removed bundled translation files — translations are now managed through translate.wordpress.org
1.0.3
- GLS map widget (map.gls-croatia.com) is now loaded on demand — only when the customer selects a GLS Parcel Shop or Parcel Locker shipping method, not for every checkout visitor
1.0.2
- Added WooCommerce Checkout Blocks compatibility — GLS Parcel Shop and Parcel Locker location picker now works in the block-based checkout
- Declared cart_checkout_blocks feature compatibility
1.0.1
- Updated text domain to match plugin slug (onlinefotka-parcel-shipping-gls)
- Renamed internal prefixes from OGS_ to OFGLS_ for WP.org compliance
- Improved transient key validation in bulk label download
1.0.0
- Initial release
