{"id":334561,"date":"2026-08-03T11:40:18","date_gmt":"2026-08-03T11:40:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/onlinefotka-gls-shipping-for-woocommerce\/"},"modified":"2026-08-03T11:39:43","modified_gmt":"2026-08-03T11:39:43","slug":"onlinefotka-parcel-shipping-gls","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/onlinefotka-parcel-shipping-gls\/","author":23503486,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Onlinefotka Parcel Shipping with GLS for WooCommerce","header_author":"Onlinefotka","header_description":"Parcel shipping integration with GLS for WooCommerce \u2014 generate labels, track parcels, and offer Parcel Shop & Parcel Locker delivery at checkout.","assets_banners_color":"003781","last_updated":"2026-08-03 11:39:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/onlinefotka.sk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"onlinefotka","date":"2026-08-03 11:39:43"}},"upgrade_notice":{"1.0.1":"<p>Code compliance update for WordPress.org directory requirements.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3632811,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3632811,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3632811,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3632811,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"GLS Shipping Settings \u2014 API &amp; Account tab with mode selector, country, client number and API credentials","2":"Label tab \u2014 printer type, default print position, client reference format and parcel content","3":"Services tab \u2014 advanced GLS services including CS1, FDS, FSS, SM1, AOS, and Insurance","4":"Automation tab \u2014 auto-label generation on status change, live tracking sync, and status mapping rules","5":"Order admin panel \u2014 GLS meta box with tracking numbers, label buttons, and pickup location","6":"Checkout \u2014 Parcel Shop location picker with interactive map"}},"plugin_section":[],"plugin_tags":[47696,3807,12855,3546,286],"plugin_category":[45],"plugin_contributors":[263926],"plugin_business_model":[],"class_list":["post-334561","plugin","type-plugin","status-publish","hentry","plugin_tags-gls","plugin_tags-label","plugin_tags-parcel","plugin_tags-shipping","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-onlinefotka","plugin_committers-onlinefotka"],"banners":{"banner":"https:\/\/ps.w.org\/onlinefotka-parcel-shipping-gls\/assets\/banner-772x250.png?rev=3632811","banner_2x":"https:\/\/ps.w.org\/onlinefotka-parcel-shipping-gls\/assets\/banner-1544x500.png?rev=3632811","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/onlinefotka-parcel-shipping-gls\/assets\/icon-128x128.png?rev=3632811","icon_2x":"https:\/\/ps.w.org\/onlinefotka-parcel-shipping-gls\/assets\/icon-256x256.png?rev=3632811","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Onlinefotka Parcel Shipping with GLS<\/strong> 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.<\/p>\n\n<p>Built with full HPOS (High Performance Order Storage) and WooCommerce Checkout Blocks compatibility, plus a clean modern settings interface.<\/p>\n\n<h3>Shipping Methods<\/h3>\n\n<ul>\n<li><strong>GLS Standard<\/strong> \u2014 home delivery, weight-based pricing, free shipping threshold<\/li>\n<li><strong>GLS Parcel Shop<\/strong> \u2014 customer selects a pickup point from an interactive map at checkout<\/li>\n<li><strong>GLS Parcel Locker<\/strong> \u2014 customer selects a 24\/7 automated locker at checkout<\/li>\n<li>Per-method: enable\/disable, custom title, default price, weight-based rates, free shipping above, supported countries<\/li>\n<\/ul>\n\n<h3>Label Management<\/h3>\n\n<ul>\n<li>Generate GLS shipping labels directly from the WooCommerce order screen<\/li>\n<li>Print individual or bulk labels (PDF)<\/li>\n<li>A4 and thermal printer support with configurable print position<\/li>\n<li>Customizable client reference and parcel content fields<\/li>\n<li>Delete labels (also cancels the parcel in GLS system when possible)<\/li>\n<\/ul>\n\n<h3>Advanced GLS Services<\/h3>\n\n<ul>\n<li><strong>Contact Service (CS1)<\/strong> \u2014 sends customer phone number to the courier<\/li>\n<li><strong>Flexible Delivery Email (FDS)<\/strong> \u2014 customer can reschedule via email link<\/li>\n<li><strong>Flexible Delivery SMS (FSS)<\/strong> \u2014 reschedule via SMS<\/li>\n<li><strong>SMS Service (SM1)<\/strong> \u2014 tracking number sent by SMS with custom text<\/li>\n<li><strong>SMS Pre-advice (SM2)<\/strong> \u2014 pre-delivery SMS notification<\/li>\n<li><strong>Addressee Only (AOS)<\/strong> \u2014 parcel delivered only to the named recipient<\/li>\n<li><strong>Insurance (INS)<\/strong> \u2014 insures parcel for the full order value<\/li>\n<li><strong>24H Guaranteed \/ Express<\/strong> \u2014 expedited delivery options<\/li>\n<\/ul>\n\n<h3>Automation<\/h3>\n\n<ul>\n<li>Auto-generate GLS label when order moves to selected WooCommerce status<\/li>\n<li>Live tracking sync via WP-Cron \u2014 automatically fetch GLS parcel status and update order notes<\/li>\n<li>Status mapping \u2014 automatically change WooCommerce order status based on GLS delivery status (by code or keyword)<\/li>\n<\/ul>\n\n<h3>Tracking<\/h3>\n\n<ul>\n<li>Tracking numbers injected automatically into all WooCommerce order emails<\/li>\n<li>Self-service tracking page via <code>[gls_tracking]<\/code> shortcode \u2014 customers look up their parcel using order number + order key<\/li>\n<li>GLS tracking link in the order admin panel<\/li>\n<\/ul>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>WooCommerce 7.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>Active GLS account with API access<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to two external services provided by GLS:<\/p>\n\n<p><strong>1. MyGLS REST API<\/strong> (<code>api.mygls.*<\/code>)<\/p>\n\n<p>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:<\/p>\n\n<ul>\n<li>You generate a GLS label from an order \u2014 sends sender address, recipient address, parcel weight, and selected GLS services to the API.<\/li>\n<li>You request the list of Parcel Shop or Parcel Locker locations \u2014 sends the country code and optional search coordinates.<\/li>\n<li>The automatic tracking sync (WP-Cron) fetches parcel status \u2014 sends parcel numbers.<\/li>\n<\/ul>\n\n<p>The exact API endpoint depends on the GLS subsidiary country configured in the plugin settings (e.g. <code>api.mygls.sk<\/code>, <code>api.mygls.cz<\/code>, <code>api.mygls.hu<\/code>).<\/p>\n\n<ul>\n<li>GLS Group website: https:\/\/gls-group.eu\/<\/li>\n<li>MyGLS portal: https:\/\/mygls.sk\/ (country-specific variants available)<\/li>\n<li>GLS Privacy Notice: https:\/\/gls-group.com\/GROUP\/en\/data-protection\/<\/li>\n<li>GLS Terms of Use: https:\/\/mygls.sk\/podmienky-pouzivania\/ (varies by country subsidiary)<\/li>\n<\/ul>\n\n<p><strong>2. GLS Delivery Point Map widget<\/strong> (<code>map.gls-croatia.com<\/code>)<\/p>\n\n<p>When the GLS Parcel Shop shipping method is active, the plugin loads a JavaScript widget from <code>map.gls-croatia.com<\/code> 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.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via <strong>Plugins \u2192 Add New<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Go to <strong>WooCommerce \u2192 GLS Shipping<\/strong> and enter your GLS API credentials<\/li>\n<li>Configure shipping zones in <strong>WooCommerce \u2192 Settings \u2192 Shipping<\/strong><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20gls%20countries%20are%20supported%3F\"><h3>Which GLS countries are supported?<\/h3><\/dt>\n<dd><p>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 \u2014 wherever GLS offers REST API v2 access.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20hpos%3F\"><h3>Is this compatible with HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully compatible with WooCommerce High Performance Order Storage (HPOS \/ custom_order_tables).<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20the%20woocommerce%20checkout%20block%3F\"><h3>Is this compatible with the WooCommerce Checkout Block?<\/h3><\/dt>\n<dd><p>Yes. The Parcel Shop and Parcel Locker location picker works in both classic and block-based checkout. The plugin uses the <code>ExperimentalOrderShippingPackages<\/code> slot to inject the pickup selector directly below the shipping rates in the checkout block.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20gls%20api%20credentials%3F\"><h3>How do I get GLS API credentials?<\/h3><\/dt>\n<dd><p>Contact your local GLS subsidiary and ask for REST API v2 access. You will receive a username and password for the GLS portal\/API.<\/p><\/dd>\n<dt id=\"can%20customers%20choose%20a%20parcel%20shop%20at%20checkout%3F\"><h3>Can customers choose a Parcel Shop at checkout?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20the%20tracking%20shortcode%20require%20login%3F\"><h3>Does the tracking shortcode require login?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"are%20labels%20stored%20securely%3F\"><h3>Are labels stored securely?<\/h3><\/dt>\n<dd><p>Yes. PDF label files are stored in the WordPress uploads directory under a protected subfolder with an <code>.htaccess<\/code> that blocks direct access. Labels are served only through an authenticated, nonce-protected download URL.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixed bulk label download failing on servers with object cache (Redis\/Memcached) \u2014 transient key is now always stored in lowercase to match sanitize_key() used during retrieval<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Removed bundled translation files \u2014 translations are now managed through translate.wordpress.org<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>GLS map widget (map.gls-croatia.com) is now loaded on demand \u2014 only when the customer selects a GLS Parcel Shop or Parcel Locker shipping method, not for every checkout visitor<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added WooCommerce Checkout Blocks compatibility \u2014 GLS Parcel Shop and Parcel Locker location picker now works in the block-based checkout<\/li>\n<li>Declared cart_checkout_blocks feature compatibility<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Updated text domain to match plugin slug (onlinefotka-parcel-shipping-gls)<\/li>\n<li>Renamed internal prefixes from OGS_ to OFGLS_ for WP.org compliance<\/li>\n<li>Improved transient key validation in bulk label download<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Parcel shipping integration with GLS for WooCommerce \u2014 generate labels, track parcels, and offer Parcel Shop &amp; Parcel Locker delivery at checkout.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334561"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/onlinefotka"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334561"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334561"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334561"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334561"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334561"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}