This is a small WordPress plugin for displaying the articles of your Spreadshirt-Shop in WordPress. The plugin uses the Spreadshirt API to display and don’t uses iframes!
If you add an article to the cart and then click on the cart link, you will be redirected to the usual Spreadshirt basket. The whole payment and order process is handeled by Spreadshirt.

Using the plugin is quite easy!
You only need to add the shortcode to your new or existing page and you’re done!

This plugin doesn’t work for users using the new Spreadshirt user area. Only few of products are displayed, not all your selected ones. You might use Spreadshop of Spreadshirt then: https://developer.spreadshirt.net/display/spreadShop/SpreadShop

Current features

  • Infinity Scrolling
  • Uses Spreadshirt-Basket (A click on the basket opens the spreadshirt own basket)
  • Price listing
  • Choose color and sizes
  • Language support (de_DE, en_GB, fr_FR, nl_NL, nn_NO, nb_NO, da_DK, it_IT based on WordPress installation, more on request)
  • Social buttons
  • Enhanced article zoom
  • Display article descriptions
  • Zwischenspeicher
  • Choose or direct link to the product category
  • Sorting and filtering
  • Adding products to the basket without page reload
  • Choose between article or design view (click on a design shows the articles inside the website)
  • Settings page/admin page for easier configuration
  • No premium shop necessary except you want to link to and use the designer
  • Warenkorb
  • Own product pages
  • Basket Widget
  • and many more…

What do you need

  • WordPress
  • Spreadshirt shop
  • Spreadshirt API key and secret (US/NA From: https://www.spreadshirt.com/-C6840, EU From: https://www.spreadshirt.net/my-api-keys-C7120)
  • Tutorial https://code.tutsplus.com/tutorials/build-your-own-t-shirt-shop-with-the-spreadshirt-wordpress-plugin–cms-22604

Known Bugs

  • If using W3TC, please disable page cache for shop pages.


  • Design view
  • Article view
  • Einstellungs-Seite


  1. Upload the spreadplugin directory to the /wp-content/plugins/wp-spreadplugin Directory (if not exists please create) or install using wordpress plugin installer
  2. Activate the plugin through the Plugins menu in WordPress
  3. Edit default settings using Spreadplugin Options
  4. Create a new site or edit an existing site
  5. Insert shortcode


  1. Go back to Spreadplugin Options and click Rebuild cache. Please wait until the cache has been rebuild.
  2. Erledigt


It shows „No articles in Shop“, but there are articles in the Spreadshirt-Shop

Check if your Spreadshirt Shop has a language and country setting.

I want to use a different currency. Is this possible?

The currency bases on the currency you’re using for your Spreadshirt Shop. So if you want to use DKK instead of EUR, change the currency in the Shop options of your Spreadshirt Shop. But be sure to not have any products in your shop, because Spreadshirt doesn’t allow changing it, when you’ve already products in it. (The solution would be to create a new shop) Please clear the cache of the Spreadplugin plugin in the Spreadplugin settings page when done (you may wait some hours to the spreadshirt cache to refresh).

How do I get the category Id?
  1. You must have already created a category in your spreadshirt shop (http://www.spreadshirt.com/help-C1328/categoryId/3/articleId/147), if not, please do so, now. Please refer to spreadshirt, if you don’t know how.
  2. Please open your normal spreadshirt shop (shopid.spreadshirt.net). In my case: http://welovetee.spreadshirt.de/
  3. Choose a category from the category selection.
  4. The url of your shop has changed to http://welovetee.spreadshirt.de/alsterwasser-C300890 in my case
  5. The category Id in this case is 300890 (the numbers after the „-C“ part)
  6. Paste this number in the shop_category="" variable. In my case shop_category="300890".
  7. Save and done.
How to display one category per page? (Custom categories)
  1. Please see How do I get the category Id?
  2. If you have got your category id, create a page in wordpress
  3. Go to text mode
  4. Paste extended shortcode (you don’t need all values, just the one you want to overwrite) [spreadplugin shop_category="CATEGORYID"]
  5. Save and repeat by each category you want to display.
How to display one pre-defined category per page?
  1. Please see How to display one category per page? (Custom categories)
  2. Instead of using shop_category, use shop_productcategory and one of your category names as values. Possible values are Men, Women, Kids & Babies,… But in your language.
How to disable the social buttons?

Add or change in the [spreadplugin] code the value from shop_social="1" to shop_social="0" or use the settings page.

How to disable the product links?

Add or change in the [spreadplugin] code the value from shop_enablelink="1" to shop_enablelink="0" or use the settings page.

How to change the link targets?

Add or change in the [spreadplugin] code the value from shop_linktarget="" to shop_linktarget=“YOUR_IFRAME_NAME“` or whatever it is. Or use the settings page.

I want my checkout page display in an iframe, what is to do?

Add or change in the [spreadplugin] code the value from shop_checkoutiframe="0" to shop_checkoutiframe="1". Note: shop_linktarget will be ignored. Or use the settings page.

  • shop_checkoutiframe="0" opens basket in separate window
  • shop_checkoutiframe="1" opens basket in an iframe in the page content
How to default sort?

Add or change in the [spreadplugin] code the value from shop_sortby="" to shop_sortby="name". Available sort options are name, price, recent. Or use the settings page.

I get following error, when I add an article to the basket: „ERROR: Basket not ready yet.“

Please update to the most recent version

How to active edit articles to use the designer shop?

Activate by changing shop_designershop=“0″ to shop_designershop=“DESIGNERSHOPID“ where DESIGNERSHOPID is your designer shop ID. Or use the settings page.

How to active designs view?

Activate by changing shop_display=“0″ to shop_display=“1″ or change it in the admin panel. Or use the settings page.

It shows old articles

Please go to the settings page in the admin panel of the plugin and click „Rebuild cache“.

I want to use more than one shop on the same website

Please use the extended shortcode.
This will overwrite the default plugin settings just for the page, where you have added this shortcode.

The infinity scroll always repeats all of my articles on and on and on and..

This might be a problem resulting of a special URL structure (permalinks). In this case, please have a look at your wordpress settings -> permalinks.
If you don’t want to change this setting to another one, please let me know the structure to check it.

The article description should be displayed without clicking „Show description“. How to do it?

Add or edit the shortcode or set in shortcode plugin settings to enable. Shortcode would be shop_showdescription="1" for enabling.

I want to display one design per page

Add or edit the shortcode you are using and add/change following variable shop_design="DESIGNID".
You get the DESIGNID from your spreadshirt admin panel.

If I checkout, the language differs from the language of the shop?!

Please check your Locale setting in your user-data of spreadshirt.
You can find it here: http://www.spreadshirt.net/user-data-C162 or http://www.spreadshirt.com/user-data-C162

How can I change the language of different shop instances?

If you change the language in your wordpress installation, the language of the plugin changes, too. Well, but you can change the language only for the plugin by selecting your language in the spreadplugin options, now. If you have multiple pages with different shops on it and want to use a different language on each page, please use the shortcode and extend your already used shortcode by – for example shop_language="de_DE" – possible values are: de_DE, en_GB, fr_FR, nl_NL, nn_NO, nb_NO, da_DK, it_IT. Your new shortcode could look like this: [spreadplugin shop_language="de_DE"]

„Rebuild cache“ reads nothing, but Shop Id is correct!

Change „Shop country:“ to „None/Please choose“ and click „Rebuild cache“ again.

Where do I find great website templates for wordpress?

Please have a look here: http://themeforest.net/category/wordpress?ref=thimo

After updating wordpress, detail page doesn’t work anymore!

Please save Spreadplugin settings again.

Display Designer only on page

Paste [spreadplugin-designer] into your desired page, that’s it.

How to display the model images

The shortcode extension for using model images is shop_modelids=“PRODUCTTYPEID-APPEARANCEID:MODELID,…“.
The following samples show the german representations of specified categories.

[spreadplugin shop_productcategory="Frauen" shop_productsubcategory="Pullover & Hoodies" shop_modelids="1047-2:458,444:458,444-251:464"]
[spreadplugin shop_productcategory="Frauen" shop_productsubcategory="T-Shirts" shop_modelids="813-231:266,857:260,461:260,943:266,943-1:296,813:260,943-2:296,943-712:296,943-566:290,943-228:290,857-231:266,857-492:1,943-557:290,813-654:266,461-294:1,461-231:266,857-206:1,813-645:266,943-231:296,813-648:266,1298:1490"]
[spreadplugin shop_productcategory="Frauen" shop_productsubcategory="Tops" shop_modelids="917:440,917-1:434,917-2:434"]
[spreadplugin shop_productcategory="Männer" shop_productsubcategory="Pullover & Hoodies" shop_modelids="20:37"]
[spreadplugin shop_productcategory="Männer" shop_productsubcategory="Tank Tops" shop_modelids="916:139"]
[spreadplugin shop_productcategory="Männer" shop_productsubcategory="T-Shirts" shop_modelids="686:181,812:85,963:212,812-231:103,6:1405,1202-164:1429,1202-229:1429,1202-231:1429,1183-689:1045"]


Top Plugin

Super Plugin. Damit ist man voll flexibel beim Designen der eigenen Shopseite.
Daumen hoch! So macht das Laune! 🙂

Awesome plugin ! Nice and simple integration

Nice and simple integration of spreadshirt boutiques.
I use wp-spreadplugin on a complex wp-multisites with mubltiple spreadshirt accounts and hundreds of products …

Special thanks to Thimo, wp-spreadplugin author, for its reactivity and to bring back products filters on 3.9.35 !

Nice job !!!

— Fabien

Good job!

Good job. The pluging is very easy to use and do exactly what I was looking for.


Wonderful plugin. It’s making things much easier. Thank you very much for your great work and for the unbelievable nice and helpful individual support.


This Plugin is awesome for everyone who would like to integrate his Spreadshirt shop into is Worpress website! I love this plugin!!! 🙂

Lies alle 63 Rezensionen

Mitwirkende & Entwickler

„WP-Spreadplugin“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Übersetze „WP-Spreadplugin“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.







Minor changes


Added translation for „Loading…“ text


Badge for new articles (added in -1 month)


Added model images. Use shortcode shop_modelids="PRODUCTTYPEID-APPEARANCEID:MODELID,...". Possible ModelIds can be inspected on Spreadshirt Marketplace images at attribute modelId. Please see How to display the model images in FAQ.


MagnificPopup disabled as it is not supported anymore




Add the suggested privacy policy text to the policy postbox


Replaced Tablomat with the new Sketchomat


Updates to Spreadshirt API


Bugfix in SEO


  • Improved SEO with Yoast SEO
  • Disabled experimental feature


Prepared for API changes in 2018 (https://www.spreadshirt.com/blog/2017/12/21/changes-api-usage/)


Added CSS Classes for price and currency. If you like, you can now hide the currency.


Experimental feature for improved SEO (separate detail page). If you have questions, feel free to post in the forum.


  • Added compatibility for tielabs page builder


  • Added „widget“ class to widget


  • Spreadplugin Designer refreshes Cart now when loaded via [spreadplugin-designer] shortcode and basket embedded as widget


  • Added new shortcode [spreadplugin-designer] to display designer only.


  • Prepare for changes in spreadshirt api beginning 28th feburary 2017


  • Hide available colors of products which are out of stock, use following Custom CSS: .spreadplugin-not-on-stock {display:none}


  • Changed price in min view to net price


  • Increased „Rebuild cache“ speed


  • enabled filters and sorting again


  • Added Permalink rules for language in URL


  • „Product on stock check“ option in Spreadplugin settings added. Now stock check can be switched on or off. If on and product out of stock, you aren’t able to order it. If you disable this option, you are able to order it regardless of the stock status.


  • Removed fly-over animation in min-view


  • Enabled appearance change for those who didn’t rebuild cache yet


  • Stock states enabled again, rebuild cache is highly recommended


  • Enabled compatiblity with W3 Total Cache plugin by disabling it for shop pages


  • CSS changes


  • Disabled isotope when in Design view


  • Added isotope for better grid display
  • Added reading of all products in shop
  • Added color selection in min-view. Can be disabled by CSS using .spreadplugin-article .color-wrapper {display:none}
  • Added new icons


  • Bugfix reading articles when having EU and US shop


  • Option to change „Back to shop“ link in Spreadshirt checkout

  • Permalink added for blog post day and name structure

  • Bugfix

  • Language Bugfix
  • Bugfix for using with WPBakery Visual Composer

  • Bugfix for image swapper

  • Permalinks update hook changed

  • Language fix

  • Added article price check to use fallback when reading articles with/without language setting.

  • Fix for american language / use default language us_US if none set.


  • Siteorigin Pagebuilder workaround added
  • Fix for importing wrong/old articles

  • Minor language and additional bugfixes

  • Single article bugfix

  • SSL restrictions removed

  • Checkout fixes
  • Checkout uses shopId now for some users having customized spreadshirt checkout with logo on top. See http://www.spreadshirt.net/-C9397 for more informations.

  • Anchor added so you can jump directly to spreadplugin shop if set
  • Basket Widget integrated and not display separatly in plugin list
  • Temporarly removed category and sorting boxes, sorry but will return later


  • Code optimizations
  • Pretty urls for detail pages. If you are having problems with pretty urls, please disable and enable spreadplugin again.
  • Bugfix when on home page

  • Function doAjax didn’t read shop_language shortcode

  • If shop_language is set in page, it’s getting read now

  • Basket auto refresh interval disabled


  • Added separate basket widget

  • Url fix


  • Bugfix in Tablomat

  • Bugfix


  • Updated integrated designer „Tablomat“ to use the shop basket.
  • Removed iframe Designer


  • Bugfix for environments disabled wordpress globals (wp_query)


  • Added close button for basket as user requested


  • Read one article one when using shop_article


  • Added new tag (shop_article) to just display one article


  • Bugfix with not applied filters


  • Bugfix with doubled content

  • Added limit of max read articles. Now you can reduce the quantity of articles to be read.
  • Bugfix for Users using Plugin „Page Builder by SiteOrigin“

  • Added japanese thanks to schlafcola.de

  • Added spanish, portuguese translation, thanks to schlafcola.de

  • bugfixes

  • Norway bugfix

  • Geringfügige Fehlerbehebung


  • Switched to tablomat to use with designer shop (premium). Please choose „Show Spreadshirt designs in the designer“ in „Apperance“ -> „Settings“, if you don’t want to display Spreadshirt Marketplace designs.

  • Fixed english checkout link

  • Fixed problems with the new checkout of spreadshirt

  • Renamed some CSS

  • Removed the caching block

  • Tried to reduce caching problems with other plugins

  • One XSS vulnerability fixed


  • CSS fixes


  • Changes in Spreadshirt API
  • Added polish


  • Added Brazil and Australia for US/Canada


  • Geringfügige Fehlerbehebung


  • Responsive detail page


  • Geringfügige Fehlerbehebung


  • Bugfix release. In some cases, not all articles are displayed and increased debugging.


  • Bugfixing / tried sync from basket to designer again


  • Bugfixing
  • Modified minimal-view and added more effects. See it at http://www.alsterwasser-fisch.com/


  • Sort by place is default again. Place is set via article order in api, which should represent your shop sorting.
  • Zoom can be disabled completly


  • Added shipping costs popup, please rebuild cache!


  • Added new integrated designer shop called confomat (by spreadshirt). Choose from options between none, integrated designer shop (but shows your chosen design and marketplace designs, if you click on designs tab) and premium (if you have a premium account at spreadshirt with a designer shop activated)
  • This is a beta release!


  • Bugfix: On some newly created shops, the articles didn’t get loaded completly.
  • Bugfix: Error when reading articles with category definded.


  • Bugfix


  • New code for building caches. The cache is not build on first page load anymore. You have to click on „Rebuild cache“ or „Save settings“ to trigger cache building. Otherwise the product pages stay empty.


  • Code modifications
  • Small debug mode added. Please enable only if you experience problems (Settings menu)


  • Bugfix in minimal view, Basket won’t open.


  • Added new minimal view – please be sure to improve the display by adding css
  • Added new configuration option shop_basket_text_icon to enable or disable basket icon
  • Some minor changes
  • Support me by code improvements – if you’ve got some


  • Language of the plugin is now selectable / changeable through shortcode. On questions please see faq
  • Small error message when adding a product failes.
  • Bugfixes

  • Some minor fixes
  • Added span tags for size and color label to disable them via css

  • Inches on detail pages for US/CA
  • Bugfixes


  • Get rid of some error messages

  • Https fixes

  • Minor bug fix to get rid of php notices

  • Print technique for detail page added

  • Language fix french

  • Added option to enable or disable lazy load


  • New option to change the zoom behaviour. Please see spreadplugin options at Zoom type.


  • New detail page. Added product details, size table…

  • Changed URL style of detail page, so woocommerce installations are not harmed 🙂

  • Bugfix: In some cases the detail pages of a product is empty

  • Bugfix in Product detail pages

  • Bugfix in shop URL


  • Checkout-Language workaround added and set to shop country


  • Replaced fancyBox 2 with magnific-popup


  • Bugfixes


  • Bugfixes


  • Minor improvements


  • Added close basket, when click outside
  • Added new option to display product description under article
  • Minor enhancements


  • Italian translation added


  • Beautiful flyover to basket animation


  • Depending on stock state the size and color of a product will be hidden (beta) / removed


  • Speed improvements by adding lazy image loading (only loads images when in viewport)


  • Solved session basket problem: On some server configurations, the session couldn’t be reused, so there was created a new session and so the basket contents were lost.
  • Geringfügige Fehlerbehebung


  • Bugfix: Translation problem in detail page fixed


  • Bugfix: Pagination did not work in some conditions


  • Bugfix: Basket has shown wrong prices, when quantity is higher than one


  • Added own product pages (detail pages)


  • Added new shortcode for displaying only specific designs in specific pages. Please refer faq.


  • Basket added
  • Minor bugfixes


  • Minor bugfixes
  • Added Text for german locale ‚zzgl. Versandkosten‘ if extended price is choosen

Norwegian language added


  • JS now loaded at the shortcode call.
  • Timeout limit removed


Pagination bugfix: In some cases, the pagination doesn’t work and always shows the first page.


Price format changed for USD


Bugfix: InfiniteScroll was not disabled correctly – it did show Javascript errors.


Sometimes no articles were displayed, when no designs are available. This has now been fixed.


  • Add your own custom css in admin interface. This won’t be overwritten by any spreadplugin update.
  • Disable infinite scrolling in admin interface.
  • Added edit article button, if designer shop id is added.


Bugfix: Wrong view was used as default


  • Color picker for zoom image background / choose background color
  • Default sorting changed


  • Enhanced article zoom
  • Price with tax now displayed only. Can be changed in options/settings page.
  • Two images sizes now available (190 & 280 pixel)


Enhanced cache call method to get always newest API file, when deleting spreadplugin cache.


Bugfix: Script tried to display descriptions of the designs, which is currently not available from spreadshirt


Article description can now be displayed always. Use shop_showdescription="1" to enable or use settings.


Edit article now opens in fancybox when set shop_checkoutiframe="2". It opens in a separate window by default, now. Thanks to grillwear-shop.de


  • Extended admin page
  • An must have update!


  • Fix for Better WP Security users, which were unable to display the options page in some circumstances.


  • New kick-ass retina social buttons
  • Clean-up release
  • Maybe the last release


  • Bugfixes (Sorting reverted, can’t solve it yet)


  • Bugfixes (incl. sorting bug – hopefully ;-))
  • Added short product description e.g. Women�s Classic T-Shirt, Men�s Classic T-Shirt,…


  • New social buttons, if you don’t like, just replace in the image directory with your own. See FAQ
  • Speed improvements (got rid of facebook and twitter implementations)


  • Settings page will now be used for all default settings. If you configure default settings, you’ll just need the minimum shortcode [spreadplugin].
    If you extend your shortcode with additional settings, they will be used! All existing shortcodes may stay untouched at least your shop_locale is not empty.
    If you receive a locale error, please add shop_locale=“us_US“ to your shortcode. Please refer https://wordpress.org/extend/plugins/wp-spreadplugin/installation/.
  • Bugfix
  • Please save your old css file. If it’s from Version 2.2.x you can reuse it in 2.5.


  • Sorting added ‚weight‘


  • New sticky toolbar
  • CSS & JS fixes


  • Updated the design view
  • SSL improvements – thanks goes to Marcus from sozenshirts.de for that note
  • Minor bugfixes


Bugfix: Infinity scrolling doesn’t work sometimes when in designs view


  • Settings page added to regenerate cache because Cache doesn’t regenerate itself anymore due to performance


  • Added a new shortcode variable to by display designs by default. To enable change shop_display=“0″to shop_display="1".
    Sample (active): http://lovetee.de/shop/
    Sample (disabled/article view): http://lovetee.de/shop-articles/
  • Added Pinterest / Thanks to shirtarrest.com
  • Article category sub-filter
  • CSS fixes


Click on zoom image doesn’t open a separate window anymore. The article description is now displayed in a modal window on the website.


Edit for articles added, if you have a designer shop. Activate by changing shop_designershop=“0″ to shop_designershop=“[DESIGNERSHOPID]“.


  • Bugfix: JS script took each form to submit an article to the basket 🙂
  • Style: Changed some styles to fit most environments


Fancybox added to display checkout in a modal window. Activate by adding or changing shop_checkoutiframe="0" to shop_checkoutiframe="2"


  • Ajax driven shop (Add products to the basket without reloading the whole content)
  • Internal article cache extended to 2 hours. If you want to change, have a look at row 46 in spreadplugin.php and change the value.


Price formatting added


Compatibility update for using with ‚Simple Facebook Connect‘-Plugin


Dutch language added (nl_NL)


Compatibility update for < PHP 5


Translation for sorting added


  • Added a new shortcode variable to sort the articles by default. To enable change shop_sortby=““to shop_sortby="[name, price, recent]".
  • Sorting select box added


  • Custom url structures now possible


  • Added a new shortcode variable to open the checkout window in an iframe. To enable change shop_checkoutiframe=“0″to shop_checkoutiframe="1".
  • Bugfix


  • Added a new shortcode variable to change the link targets. To enable change shop_linktarget="" to shop_linktarget=“YOUR_IFRAME_NAME“`.
  • You may hide the product category field by adding a style in the plugin css. E.g. .spreadplugin-items #productCategory {display:none}


  • Own cache added (updates every 8 hours) – speed improvements.
  • Product category now accessable
  • Shortcode added for direct calls of a category. Add shop_productcategory="" and fill with field value e.g. Women => shop_productcategory="Women"


  • Debugging things, no need to update


  • Each article image has now a link to it’s spreadshirt product details website. Use the shortcode to enable shop_enablelink="1" or disable shop_enablelink="0" this behaviour (default is enabled).


  • Added a new shortcode variable to disable social media buttons. Enable shop_social="1" / Disable shop_social="0"


  • Define a category to display with shop_category="". Please have a look at the faq for getting the category id. In v2 I hope to have an admin interface which will help you with the configuration.


  • Shows detailed product description when hovering the article image (mouseover)


  • Zoom image now shows right color of views


  • Size of views increased


  • Different views of the article available (front, back, left, right)


  • Language improvements (Thanks to Steve for helping me with french :))


  • Skipping some errors when spreadshirt articles are no more readable (link dead?)


  • Removed some error messages when in WordPress debug mode


  • I missed the multi language features of Twitter and Facebook, so sorry!


  • Added Twitter share button. It pushes description text if available, else it just says ‚Product‘. Additionally, it says @URL to product.


  • Added Facebook like button


  • Enabled some error messages


  • Spreadshirts „Free Color Selection“/Color limitation is now processed


  • Show hide prices using stylesheet
  • French language improvements


  • jQuery compatibility improvements
  • Currency display fix