ZStore Helper WordPress Plugin For Zazzle Store Builder

/ WordPress Plugins / by Paul Robinson / 688 Comments
This post was published back on March 23, 2009 and may be outdated. Please use caution when following older tutorials or using older code. After reading be sure to check for newer procedures or updates to code.

Updated: 20th June 2016

Unfortunately this plugin no longer works with the Zazzle feed anymore… Well it does, but not in certain situations. You should be able to use it as long as you only use keywords or a product line. If you try to use Product Types it will either not return any results or it will return default results. This is due to a major change in the Zazzle Feed, they no longer allow the parameter used to query Product Types.

The short version is that there is nothing I can do to fix it as the core issue is within the Zazzle Store Builder files and they have not been updated to fix the problem. I am currently working on a new plugin that will no longer need the Zazzle Store Builder to work, but I am having to fit development in around work. I will have it released as soon as possible. It will be donation based meaning you can download it free but donations will be highly encouraged. This post will be archived and a new post will be made for the new plugin, it will also have a dedicated documentation hosted on github pages so it will always be available even if my site is down.

If you’d like to stay up-to-date on the progress of the plugin please follow me on Twitter and/or Instagram (both @PaulBRobinson) where I post totally random life stuff, Degus and coding updates.


So a few members of Zazzle.com asked me to make a plugin for WordPress to make it easier to install the Zazzle Store Builder into WordPress. Usually it is quite easy, but for a novice coder placing it into WordPress can be a pain since it requires some special workarounds to be done. So to make it easy for people using WordPress I’ve made a plugin. I have asked the permission of Zazzle to release it and have now gotten permission, the only requirement is that you have download the Zazzle Store Builder from their website as you have to be a member & accept their terms & conditions to use it.

How Do I Install It?


Right here we go, the instuctions are as follows:

  1. Download the plugin (can be found at the bottom of this post.)
  2. Download the Zazzle Store Builder from here.
  3. Unzip the contents of the plugin (zstore-helper.zip) to the wp-content/plugins folder in your WP installation.
  4. Go to wp-content/plugins/zstore-helper/zstore which should be empty. Open the Zazzle Store Builder zip file. Go into the folder you can see & drag out the includes & css folders into the zstore folder. See figure 1 for what your directory should look like.
  5. Make sure that you have fancy permalinks enabled. So your URLs don’t have ?p=34 in them, the plugin will not work without this due to Zazzle’s store bulder code.
  6. Now go into your WordPress admin. Head to the plugins section & turn on the Zstore Helper plugin. Next head to the Zstore Helper options page that will appear under Settings & set some global options. These are the options that will always be run, unless you over ride them (more on that later).
  7. Once you’ve set the global options all you need to do is make a page or post & put [zstore] into it. Publish & your store will appear. 🙂

Options

Here is a list of the options available on the options page & detailed instructions on what they do:

Contributor Handle
The store name (generally shown in the URL of your store’s homepage) of the store you wish to show products from.
Associate ID
An ID used for referrals. Found under the associates center, which can be found in the gallery tab of MyZazzle.
Product Line ID
Allows you to display a specific product line. Leave blank to show all products from a gallery. The product line ID can be found by clicking on a product line in a gallery. The URL will look something like http://www.zazzle.com/coatsofarms/products/cg-196595220567583981. The string or numbers on the end is the product line ID.
Product Type
Exactly what it says. Restrict which type of product is shown from the gallery.
Keywords
Also exactly what it says. Restrict products returned from the gallery by a keyword. Comma seperated. Eg. Cat, star, cow. You get the idea.
Grid Width
How wide, in pixels, should the complete product grid be. Although this is in pixels you do not need the px on the end, just the number.
Grid Cell Size
The size of each grid cell. Just pick a size from the list.
Grid Cell Spacing
The space, again in pixels, between each grid cell. As before although the value is in pixels only the number is needed & not px.
Grid Cell Background Color
The color used for each grid cells background color. In HEX but without the hash(#). Eg. FFFFFF is white. For a list of HEX colors try this link. You want the 6 char string under the column ‘Hex’.
Use Google Analytics
If you want to use Google Analytics then set this to true & then fill in Google Analytics Number with your UA number from your Google Analytics account. If you already have a Google Analytics plugin running on WordPress you probably won’t need this.
Google Analytics Number (ID)
If you set the last option to true then this is where you put your Google Analytics Number. It looks like this: UA-xxxxxxx-x. If you already have a Google Analytics plugin running on WordPress you probably won’t need this.
Show How Many Products
How many products do you want to show per page, or if you have pagination turned off, how many do you want to show in total. Default is 20. It is generally not a good idea to set this above 100 or 150 as it could crash older computers while trying to load all the images.
Starting Page
What page of results do you want to start on.
Show Pagination
Do you want to show a pagination. A pagination is the list of numbers that represent links to other pages if there are too many products to show on the first page.
Show Sorting
Do you want to show the sorting options. This allows visitors to sort by the Date Created or Popularity if set to true.
Default Sorting
What you want the products to be sorted by, Date Created or Popularity. Applies even if Show Sorting is set to false.
Show ‘By’ Line
Do you want to show the products ‘By’ line. This is the line that says ‘by zazzlestore’. In other words do you want to show which store created the product.
Show Product Title
Pretty obvious. Do you want to show the products’ title.
Show Product Price
Again obvious. Do you want to show the products’ price.
Enable Caching
Do you want to enable caching. This helps reduce server load for both you and Zazzle since it saves the images it uses so it doesn’t have to contact Zazzle everytime. Handy if you get a lot of visitors.
Cache Lifetime
How long before the cache is deleted & a new set of images is retrieved from Zazzle. This is in seconds. (3600 seconds = 1 hour)

Shortcode Over-rides

Here is a list, with examples, of the attributes used for over-rides. They are similar to HTML attributes so HTML users should feel right at home. Their uses match the options above so refer to the list above for any explanations.

contributorhandle
Example: [zstore contributorhandle="ZazzleStore"]
associateid
Example: [zstore associateid="THEASSOCIATEID"]
productlineid
Example: [zstore productlineid="THEPRODUCTLINEID"]
producttype
Example: [zstore producttype="cards"]. You may use the three digit code or the name of a product from this list.
keywords
Example: [zstore keywords="cats"]. A list of keywords if more than one is used they must be comma(,) seperated.
gridwidth
Example: [zstore gridwidth="400"]
gridcellsize
Example: [zstore gridcellsize="medium"]. This must match either tiny, small, medium, large or huge.
gridcellspacing
Example: [zstore gridcellspacing="5"]
gridcellbgcolor
Example: [zstore gridcellbgcolor="FFFFFF"]
useanalytics
Example: [zstore useanalytics="false"]. Options are true or false.
analyticsid
Example: [zstore analyticsid="UA-xxxxxxx-x"]
showhowmany
Example: [zstore showhowmany="20"]
startpage
Example: [zstore startpage="1"]
showpagination
Example: [zstore showpagination="true"]. Options are true or false.
showsorting
Example: [zstore showsorting="true"]. Options are true or false
defaultsort
Example: [zstore defaultsort="date_created"]. Options are date_created or popularity.
showproductdescription
Example: [zstore showproductdescription="true"]. Options are true or false.
showbyline
Example: [zstore showbyline="ZazzleStore"]. Options are true or false.
showproducttitle
Example: [zstore showproducttitle="true"]. Options are true or false.
showproductprice
Example: [zstore showproductprice="true"]. Options are true or false.
usecaching
Example: [zstore usecaching="false"]. Options are true or false
cachelifetime
Example: [zstore cachelifetime="3600"]. Length in seconds.

You can use any of these in combination like this: [zstore contributorhandle="ZazzleStore" producttype="Mugs" keywords="cats, dogs"].

Product Type List

This is the list of product types for use with the producttype Shortcode attribute. The name on the left is the name to use in the shortcode. The name on the right is just to use as reference.

  • zazzle_apron – Aprons
  • bagettes_bag – Bagettes Bags
  • zazzle_bag – Bags
  • zazzle_binder – Binders
  • zazzle_bumpersticker – Bumper Stickers
  • zazzle_button – Buttons
  • zazzle_calendar – Calendars
  • zazzle_card – Cards
  • zazzle_candyjar – Candy Jar
  • caseable_case – Caseable Cases
  • casemate_case – Casemate Cases
  • zazzle_coaster – Coasters
  • fuji_coaster – Cork Coasters
  • musicskins_skin – Custom Skins
  • zazzle_doodle – Doodle Speaker
  • fuji_electronicsbag – Electronics Bags
  • zazzle_embroideredbag – Embroidered Bags
  • zazzle_embroideredhat – Embroidered Hats
  • zazzle_embroideredshirt – Embroidered Shirts
  • zazzle_envelope – Envelopes
  • zazzle_flyer – Flyers
  • fuji_mousepad – Gel Mousepads
  • zazzle_giftbox – Gift Boxes
  • zazzle_hat – Hats
  • zazzle_invitation – Invitations
  • zazzle_speckcase – iPad/iPhone Cases
  • zazzle_keychain – Keychains
  • mojo_kitchentowel – Kitchen Towels
  • zazzle_label – Labels
  • zazzle_letterhead – Letterhead
  • zazzle_magnet – Magnets
  • zazzle_mousepad – Mousepads
  • zazzle_mug – Mugs
  • mojo_napkin – Napkins
  • zazzle_necklace – Necklaces
  • fuji_notebook – Notebooks
  • fuji_notepad – Notepads
  • zazzle_ornament – Ornaments
  • zazzle_petshirt – Pet Apparel
  • zazzle_petbowl – Pet Bowl
  • zazzle_photocard – Photo Cards
  • zazzle_photoenlargement – Photo Enlargement
  • fuji_plaque – Photo Plaques
  • zazzle_photoprint – Photo Prints
  • zazzle_photosculpture – Photo Sculptures
  • zazzle_pitcher – Pitcher
  • mojo_placemat – Placemats
  • fuji_plate” – Plates
  • zazzle_stamp – Postage
  • zazzle_postcard – Postcards
  • zazzle_print – Poster Prints
  • planetjill_giftbox – Premium Gift Boxes
  • fuji_fleximagnet – Premium Magnets
  • zazzle_profilecard – Profile Cards
  • fuji_puzzle – Puzzles
  • zazzle_rackcard – Rackcards
  • rickshaw_flapsleeve – Rickshaw Flap Sleeves
  • rickshaw_folio – Rickshaw Folio
  • rickshaw_messengerbag – Rickshaw Messenger Bag
  • rickshaw_sleeve – Rickshaw Sleeve
  • zazzle_skateboard – Skateboards
  • zazzle_specialitymug – Speciality Mugs
  • zazzle_stationery – Stationary
  • zazzle_sticker – Stickers
  • zazzle_teapot – Teapots
  • zazzle_tie – Ties
  • zazzle_tile – Tiles
  • mojo_throwpillow – Throw Pillows
  • zazzle_shirt – T-Shirts
  • libertybottle_bottle – Water Bottles
  • zazzle_wrappedcanvas – Wrapped Canvas

Where Can I Download This Marvelous Invention?

Right here. Just click here to download the zip. Then jump back up to the top and follow the instructions carefully.

What About A Premium Version?

The premium version is no longer available. I have no idea what happened to Bill or if he is still around. I have had no contact with him in quite a while and have no idea how to contact him. As far as I am concerned there is no longer a paid version of this plugin and you should not pay for it.

What About WordPress MU?

Well after a little bit of adjustments it will work in WPMU. You can download that version here. This version is only a mu-plugin if you want to use it as a normal plugin in WPMU then download the version above & place it in your plugins folder.

688 Comments

Author’s gravatar

OK, got it working again – thanks, Paul and Bill.
This is maybe an obvious question, but this isn’t built on ZSB 1.5, is it?

Reply
Author’s gravatar author

No sadly 1.5 may never be compatible with WordPress due to various reasons but the biggest one is due to the product pages.

I’ve been trying to work on a custom version that is purpose built for using within WordPress but sadly work keeps getting in the way.

Author’s gravatar

Thanks, Paul. Totally understand! I just started a new job myself and it is awful how much it gets in the way of my “real life”.

Reply
Author’s gravatar author

No problem. Haha. Well my work is my real life since I’m a web developer and that’s what I love to do in my spare time too. It does stop me from getting to personal projects though sadly. 🙁

Author’s gravatar

I’m trying to get the zstore to only show the particular product line, but for some reason no matter what I set the productlineid to, it always shows all of my products. I’d like to only show the products under a certain category, and since the product ID changes when I change categories, I thought that would work. What am I doing wrong?
My zazzle store: http://www.zazzle.com/nerdwatch
I thought that cg-196420418943401022 was the product ID for one category, and cg-196577529570723223 was for another. I must be mis-reading or mis-understanding something somewhere, especially since the URL format isn’t what your documentation (or Zazzle’s for that matter) says it is.

Any help is appreciated.

Reply
Author’s gravatar

Well color me all kinds of embarrassed, I figured out what the problem was (after looking at earlier comments). I didn’t realize that you have to drop the “cg-” or “cg=” from the number. You even say so in the documentation, effectively, when you say it’s the numbers at the end of the URL.

Sorry for messing up your comment stream, now that I have it working the way I want, it looks like it will do just what I need.

Thanks for making this!

Author’s gravatar author

Hi Andrew,

Don’t worry about it. I’m going to be improving my documentation soon after I launch the new redesign of my site so I’ll make it a little clearer to avoid it happening to anyone else. Thanks. 🙂

Author’s gravatar

Hate to be such a complainer and I’ve tried figuring it out myself, but I re-downloaded the zip and am still getting the same error.

Any ideas?

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ‘)’ in public_html/wp-content/plugins/zstore-helper/zstore-helper.php on line 391

Reply
Author’s gravatar author

Hi,

I’ve just downloaded & tested the version on the site & it seems to be working okay. To be safe I’ve deleted the version on the server & reuploaded it completely fresh just in case.

Don’t worry, I’d much rather you let me know there is a problem than not know at all. 😉

Author’s gravatar

Hmmm. That was the answer I was fearing.

Cool. I’ll have to see if I can sort it out.

Thanks!

Reply
Author’s gravatar author

It’s odd that it’s still there since there is definitely no error on that line.

If you want to see if it’s there on the version you have I can tell you what to look for. If you open the zstore-helper.php file included in the plugin in a text editor (notepad++ is good). Then look for line 391.

Around that line, because the error generally isn’t on that line, there will either be a missing comma, or a missing bracket.

Just to note, I did get the error you reported, but there was a missing comma near that line. I don’t understand how it’s still appearing when it’s downloaded. It’s got me worried it may be happening to others too. 🙁

Author’s gravatar

Well, I messed around with it and I don’t know if this makes sense or not, but here’s whats eemed to be happening.

When I used the WordPress dashboard to upload/install the plugin, I got the error. (plugins>add new>upload)

When I unzipped the files myself and uploaded them via FTP, it worked fine.

Not sure why, but I’m afraid to try to replacte it because things are working and I don’t want to mess it up again. 🙂

Author’s gravatar author

Ahh, looks like the way I’ve packaged my plugin isn’t compatible with the WordPress plugin uploader.

I’ll take a look into it when I get a few minutes & see if I can figure out the problem. I always use the FTP method, completely forgot WP has an plugin uploader.

Author’s gravatar

On a side note to this. I created a new test site, downloaded and installed the latest release from here and it presented no bugs. I have found though, both version’s are susceptable to bugs based on themes used. Older themes built prior to wp2.8 (some) and stock theme 2010 and 2011 do not work all the time. So, before making a bug report always ck that your theme is widget ready or try an alternate theme just to check to see if its really a bug or a theme compatibility issue. There are literally thousands of people out there making themes now a days, so it could easily be the issue.

Reply
Author’s gravatar author

Indeed, CSS can cause a fair few troubles since some theme authors use !important where they shouldn’t. It’s nearly as bad as using inline styles. If your application/theme/plugin, is going to be used by others you should always try to aim to allow the end user to override your styling.

Author’s gravatar

Re the earlier comment about not being able to upload through the WordPress plugin uploader: I am using the premium version, but just made my tracking code change to one of the php files and then zipped up the whole set of files. No problem uploading that way for me!

Reply
Author’s gravatar

Yes, that will usually work with no problems. But usually strait from the immediate download directly into wordpress most often fails because the directry structure is not 100% in tact because of the how to files being added in. Usually though, as you found, once opened and then rezipped, no problems. I had threw that up there for those that do the direct download instantly to upload.

But, glad ya had no problems or issues with it. Were the directions for adding the tracking code ok?

Bill

Reply
Author’s gravatar author

Meant to thank you Bill for helping out by replying to some of the comments. 😉

@Debra: Glad you’ve managed to get everything working. 🙂

Author’s gravatar

Just wondering if there’s a way to create a store based on a search. Like from multiple sellers, not just my stuff – as if I did a search on Zazzle.

Like if I search “kitties” on Zazzle, the page that it returns with all kinds of kitty merchandise from all kinds of sellers – if I want to make those results my store is there a way?

Reply
Author’s gravatar

Just create a page of all zazzle products, you can do this by leaving your shop name out of the base settings, then when you utilize [ zstore ] you can just show all zazzle products, and then use the included search widget to search thru all those million’s of products.

Author’s gravatar

Ahhh! So obvious in hindsight. I was trying all kinds of weird workarounds and that never crossed my mind.

Thanks a bunch! You guys are great!

Reply
Author’s gravatar

Just make sure to remember that if you dont use your store name in your base settings, that when you go to add a new page or post to use the short code to display your store again. same thing for your associate id# and some other settings. If you leave them blank in your main settings page, make sure and add them in with the shortcodes for each post or page.

Reply
Author’s gravatar author

Thanks for helping out with replying to comments while I’ve been busy Bill. It’s been a really big help.

Author’s gravatar

No worries Paul, its kind of turned into part of my daily ritual and routine to stop by here.

Reply
Author’s gravatar

I deleted my 1.3 version and installed 1.5. Now when I go Admin > Settings > ZStore helper I get this error message:
You do not have sufficient permissions to access this page.
Can you help?

Reply
Author’s gravatar

Nevermind – fixed it. I have a the folder named zstore-helper 2
When I deleted the old folder and renamed it zstore-helper I was able to access the admin again.

Author’s gravatar author

Hey Terry,

Yeah WordPress recently tightened security regarding permissions. Having the folder with a different name would probably cause that problem.

Author’s gravatar

Im liking it pretty good so far. I think the only other thing I would like to see would be like some share buttons or something for the posts or tutorials. Ive often sent folks over by having to copy and paste links, would make easier and probably more links to you if there where some share buttons for things like twitter, facebook, email etc.
Overall though, I like it much better. Easier on the eyes and easier to focus on the topics once on the page’s.

Reply
Author’s gravatar author

There are indeed Twitter, Facebook and G+ sharing buttons at the top of each post. I’ll try and get an email one on there too. Might see if I can get a pintrest button since it seems to be popular at the minute.

Author’s gravatar

Having “Error: Products temporarily unavailable.” problems. Using the latest Z-Store Helper plugin (1.5) and Zazzle SB 1.0.2
Is this a common error? I see a workaround on the Forum but it’s not for WordPress.

Reply
Author’s gravatar author

It does seem to come up a lot. It seems to come directly from Zazzle and other than the though they may be having a few problems on their end I’ve never come up with a reason for it.

It can sometimes be shown if you have conflicting filters set in you options or shortcode. For example having ‘dog, cat, orange, bird’ in your keywords would likely yield that error due to being too restrictive.

Not sure if that helps. If you provide a link to that fix I will take a look and see if I can make it work with WordPress.

Author’s gravatar

Right now its only isolated to specific product types only. You can still pull in your feeds to your specific categories, keywords, whole shop and everything else. Its just the displaying product types that has the error right now. So like skins, or just pillows, or just shirts.

Reply
Author’s gravatar

Thanks Bill – yes I see that is the case. So sad for so many users. I’ll be patient and wait for a fix from Paul or Zazzle. Sucks that Zazzle can’t supply us a reliable solution themselves. I applaud Paul (and you Bill) for the work on the plug-in. As soon as it’s fixed I’m buying the Premium for my site.

Author’s gravatar author

Hi Terry,

Thank you for the kind words. If the problem is with the feed I’m unable to do anything to fix the problem so sadly it’s a wait for Zazzle to fix the problem.

Thank you again though for your support.

Author’s gravatar

Looks like most of the product type feed’s are back to working. I still see a few glitching and not showing, but they are slowly all coming back online for everyone’s use.

Reply
Author’s gravatar

Does this plugin have link share, or rev-share, or split referrals?

Reply
Author’s gravatar

And another questions. 🙂 I want to play with this to see if works for me and my site. Can I upgrade to the premium easily or do I start over again?

Reply
Author’s gravatar author

No there are no revenue shares, split referrals or anything like that.

You should be able to use the free one to test & the settings should follow through into the premium plugin.

Hope that helps.

Author’s gravatar

Hi Paul! If I didn’t say so before, let me say now that I love the fresh looking design on your site!

Question: Since Zazzle is going crazy with adding new partners and plugins, how do you recommend we keep up with it in terms of the plugin?
If there’s only one file that needs to be updated, I can probably swing it on my own since you and Bill have done all the hard work. I can’t get the Rickshaw stuff to show up and now we’ve got Bagettes!

Thanks,
Deb

Reply
Author’s gravatar author

Thanks Deb,

I’ll be updating the plugin in the next day or so with the new products. In fact I’ll do it now for you. Check out the post in a little while & I’ll have updated the plugin with the new products.

If you mean the premium plugin then I would ask Bill via the premium site about that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

I'll keep your WordPress site up-to-date and working to its best.

Find out more