ZStore Helper WordPress Plugin For Zazzle Store Builder
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:
- Download the plugin (can be found at the bottom of this post.)
- Download the Zazzle Store Builder from here.
- Unzip the contents of the plugin (
zstore-helper.zip
) to thewp-content/plugins
folder in your WP installation. - 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. - 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. - 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).
- 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
Brian Combs
Paul,
I thought it might be something like that. Thanks.
david
I need some help. Downloaded z store zip file and followed all instructions but after embedding [zstore] in web page I get nothing. I noticed that the zip folders, include and css had nothing in them. Is that the problem? And how do I rectify this? Thanks
Your Name
Found the problem and fixed it. Thanks anyway.
Paul Robinson
Yep, got your emails.
No worries, glad you managed to fix it.
Leona
I installed the plugin and the two Zazzle store builder files as you instructed in your tutorial. But when I go to my WordPress Admin, the plugin isn’t listed for me to activate. I’m using WordPress 3.3.1. Any suggestions?
Paul Robinson
Hi Leona,
That’s very strange. Even with the two Zazzle files missing WordPress should pick up the plugin without any problems.
The only problem I know that causes WordPress to not be able to find a plugin is that the plugin file is not in the correct location.
Does your plugin folder look like the one shown here? The part on the left is inside the ‘plugins’ folder & the part on the right is inside the ‘zstore’ folder.
Leona
Thank you Paul, that was the issue. My ftp wasn’t displaying the three php files. I had to play around with it so I could upload them through the ftp program I have. Now the plugin shows in my admin page. Thank you again
Leona
Well, I’m back again. I still not able to get my Zazzle store to display. I worked on it all day yesterday without success and today I’m still lost as to what the issue is
Paul Robinson
Hi Leona,
I’m assuming you mean you aren’t able to get your products to display, as you said you’d managed to get the plugin to show in the admin.
It’s a tricky problem that I can’t seem to find a single answer for. The products are actually displayed by Zazzle’s code rather than mine, I’ve searched for a consistent issue but can’t find one.
All I’m able to do is suggest a few things that normally help. First is to make sure your options aren’t too restrictive, second is make sure your contributor handle is correct, and finally check to see if your server supports output buffering, as without that the plugin can’t display correctly.
I apologise for all the issues you are having, a few people have this issue & I’m unable to find a common cause. 🙁
Marc
Is there a way to have zstore show just a single product. I’d like it to be like Zazzle Store Builder Builder where it shows you a large version of the product, the price, description and other bits and pieces. Is this something thats possible? At the moment you can only show product lines and then clicking on a product takes you to the zazzle page. Thanks
Leona
Hi Paul,
I did contact Zazzle last night regarding what contributor handle I should be using, since the names I tried weren’t solving the issue. I still haven’t got a response from them.
I just now contacted my web host and they said they do offer curl, but the person I spoke with wasn’t sure about output buffering. So they are going to look into it and get back with me.
Leona
Ok, I got a reply from my server stating they enabled PHP output_buffering on my account. Still no change in the store display though. I have two stores on Zazzle and since I want to only have one of them on my website, I’m using that store’s name as my contributor ID. I still haven’t heard from Zazzle. So I’m stuck as to what I can do. Everything looks correct for file arrangement on my server and information in the files.
Paul Robinson
The only other thing I can think of that might cause the problem is if you have filled in any of the options in the Zazzle configuration file. It can sometimes cause conflicts. I don’t think that is the cause though.
I can’t think of anything else that could cause the problem. Your contributor handle is generally the same as your store name if that helps.
Leona
I’m at a loss too Paul. I’ve checked the files and the config file is as it came. I’ve even tried installing the zazzle storebuilder without the plugin to no avail. I’m at the point of giving up on it.
Paul Robinson
Hi Leona,
Sorry about the delayed response, got swamped with work & fixing a bug with the server.
I’m sorry Leona, I’m pretty familiar with the ZSB code from when I built the plugin & there are no major bugs in it, however this is a very common problem I’ve never been able to pin down. I even asked my development contact at Zazzle & they are as confused as I am.
If you get nothing at all the only problems I know that can cause it are cURL being disabled, or output buffering not being enabled.
One last thing you could try is to access you PHP error logs. Some server hide their errors from the public for security reasons, so if you can get a look at those they may help.
If you do manage to look in the logs & you don’t want to post them to the public feel free to drop me an email instead & I’ll take a look for you.
Lix B
Hey Paul, I’m in Australia, and I created my store at zazzle.com.au. I’m just wondering if there’s any way to get your plugin to display items from zazzle.com.au (and subsequently in AU$) instead of from zazzle.com in US$?
Thanks heaps!
Lix
Paul Robinson
HI Lix,
Sadly you can’t as far as I’m aware. The information provided in the feed used to grab the products from Zazzle doesn’t provide international currencies.
I was going to try to add something into the plugin to allow currency conversion independent to Zazzle but unfortunately the price will end up incorrect since it doesn’t seem to be a direct conversion.
I do have one or two ideas I can try to make this possible though so I’ll get back to you, via email if you like, on whether or not it’s possible.
On a side note, I love your website. Would love to visit Australia sometime, the nicest scenery I have is this.
Leona
Phew! Finally got it to work just now after trying all this time. Thank you Paul for your indulgence and quick responses. I didn’t notice until today that three file were placed in the wrong hierarchy. Now all I need to do is figure out how to get the images in rows instead of the WordPress column style
Paul Robinson
Awesome new Leona. Glad it was something fixable. 🙂
The rows/columns is all to do with CSS. While I’m not a designer I do have enough knowledge of CSS to get by, so if you need any help feel free to ask. You can always ask my sister too (http://lisa-marieart.com) who dabbles with CSS a lot more than I do.
Leona
Hi Paul,
Thank you for your offer. I sent you a message.
Paul Robinson
Thanks Leona,
Will get back to you as soon as possible.
Imagina
Hi and thanks a million for this awesome plug-in. I’m new to WordPress and new to all of this, and need to ask a real Dummy Question. I’ve got my sites working great on my test server (XAMPP from Apache Friends) — your wonderful plugin seems to be working fine — except I can see no products at all.
I think I have everything configured properly (although I could have goofed with the fancy permalinks) .
Before I spend more hours trying to figure out where I’m going wrong — does this not work with a test server? Do I need to upload to my host first?
Paul Robinson
Hi,
It will work on a test server, in fact I do my development work on XAMPP.
There are a few reasons for there to be no products. It depends on if you are seeing a blank area, or a message from Zazzle telling you there are no products.
If it’s blank it could be cURL being disabled, or a problem similar to Leona’s above where you haven’t quite placed the files in the correct place.
If you have a message from Zazzle it’s normally because you have filtered your products to aggressively or because Zazzle are having a problem with their feeds.
Hope that helps a little.
Imagina
Yay! Or not so yay. I must have really goofed. But at least now I know it should work in a test server and I’m not wasting my time trying fix something that wasn’t broken. All I see is the header image and the page title and everything else the color of the background (even what should be the white page). My internet service has been on the blink and I’ve just now been able to get back online.
Thank you for the amazingly fast answer. I am so impressed with your kindness and dedication. Now to try to see what I’ve done wrong. I read through the entire thread trying everything, but I’ll go through it again. I’m so grateful for your help.
Paul Robinson
That sort of problem, background going white and footer not loading, means there is a PHP error & the page has been cut-off.
The most common error, especially on XAMPP setups, is cURL not being enabled. To enable it open your php.ini file in “X:xamppphpphp.ini” (where X is your drive letter), in notepad and find the line that says:
and remove the semi-colon from in front. Save it, and then restart apache via the XAMPP control panel or restarting your computer.
Hopefully that should fix things.
Imagina
You, sir, are my hero! I can’t believe it! It’s like magic! I just now got my internet back and followed your excellent instructions and — ta da! — my products magically appeared!
I am enormously grateful. You are a very kind gentleman. I’m heading for PayPal now before the storm knocks the power out!
Paul Robinson
Not a problem. 🙂
Thank you for any donation you do make. Every little helps me keep the servers up & running.
LG
Just began using this plugin this evening. I’ve been over everything twice with a fine tooth comb and can’t figure out where it’s going wrong.
My store page isn’t showing products. All I get is the message:
“Error: Products temporarily unavailable.”
displayed on the page.
Anyone know what might be causing this?
Steven Sashen
I’m getting the same thing, after having the plugin working fine for 2 years
LG
After changing a few of my settings, I’m now getting this message:
“Error: Feed temporarily unavailable.”
Not any better, but maybe it’ll help diagnose the issue.
Paul Robinson
Hi LG & Steven,
Both those errors are returned by Zazzle from their servers. I can only think that they are having a problem or are upgrading and everything will be back to normal as soon as they finish/fix the problem.
Leona
Hi Paul,
Just wanted to let you know the issue I was having had to do with another ‘Leona’ error.
I am wondering about the new updates Zazzle is doing that shut down all domain stores. Mine is still down even though the last mention yesterday was that they hoped to have it resolved within 24 hours. Will the update involve new coding for your plugin?
Leona
Hi Paul,
Once I got a missing file where it belonged, the plugin and store worked perfectly, including displaying images horizontally.
Thursday night though, I started getting comments from my store posts, on social media sites, saying the page displayed an error. It wasn’t until Friday I was given info in the forum about a Zazzle update in progress. The Zazzle team said it could be as long as 5 days. Then later said hopefully it would be resolved within 24 hours.
Right after my last comment here on your site, I got another update from them saying it could be 3 to 4 days, and no new coding will be needed.
Here is the link to my forum post and their reply
http://forum.zazzle.com/tools/my_domain_store_is_still_unavailable
Basically, this update they are doing is currently causing errors for all Zazzle stores on private domains.
Paul Robinson
Thanks for the info Leona.
The Zazzle Store Builder is used within the ZStore plugin and that uses Zazzle’s feeds. Sort of like Twitter scripts and how they use Twitter’s API. So it looks like usage of ZStore will be a little spotty until they get the problem with their feeds sorted.
Webgrrl
Hello Paul! Happy to see about the premium plugin.. just have a question..
are they price for each site..or is there a special price for multiple sites
will the premium version have easier updating?
will we be able to update from our plug-in list – or something similar when zazzle adds more new products (which seems ever so regular these days)
zazzle feeds are not working at the moment (due to all the new products eg: skins etc) So once they back to normal (hah!) – im keen to try the Premium version 🙂
Paul Robinson
Hi there,
I honestly don’t know. I just added the new features to the script, I don’t sell it myself. In the spirit of full disclosure I do get a little bit from each sale, but only because I technically wrote the entire plugin (except for Zazzle’s code of course).
I would imagine that it is a full purchase as there is no activation system inside the plugin to stop you using it on another domain & is therefore unenforceable regardless, lol.
It doesn’t have easier updating. We aren’t allowed to add it to the WP plugin repository & while I have/can build an updater that will work outside of the WP repository it is difficult to do. I am considering it though if the person who asked me to build the premium version would like me too.
Yeah, I noticed after the barrage of comments I received, lol.
I’m interested to know how people get on with the premium version. Feel free to email me if you want to give me some confidential feedback, I’d love to hear what you think.
Debra
Hi Paul, I’ve got the premium version set up on this page: http://rightbrainleftturn.com/brain-shop/. I did go into a couple of php files to add a tracking code and revise the note to store link if the feed goes bad again. However, both of those are really optional if anyone isn’t comfortable with the php. (I just followed directions!)
The premium plugin works well and was easy to use, but doesn’t yet show the newer products, so I have it set to show all for now. No idea why it shows 19 products when I have it set for 20. I’ll mention that to Bill (who developed the premium version) and see if he knows. I use your version on other sites, Paul, and it’s been a huge help because I’m a WordPress website person. Thanks! –Deb
Paul Robinson
Thanks Debra,
The new products will be listed as soon as I fix the current problem with the fact that Zazzle have just changed their feed system slightly.
Bill did come up with the idea for the idea for the premium plugin, sells it and does write some of the code, but I’m still the developer of that version. So if you do have any problems feel free to mention them to either me or Bill. 😉
Debra
Thanks, Paul! I don’t recall seeing the different count issue before, no idea where that came from. Will everyone have to re-load the plugin when the new products come on? Will you & Bill have to update every time Zazzle releases something new? That could keep you busy this year! –Deb
Paul Robinson
Not sure what that is, but it’s most likely Zazzle since their feed deals with returning the correct amount of products. The most important thing the plugin does is act as a bypass so that WordPress doesn’t alter any of the information needed to be passed to the store builder.
Yep, sure will. Indeed. Since Zazzle just changed how the products are loaded from the feed I’m just busy trying to change the plugin to work with that. It’s being a pain at the minute, lol.
Bill H.
Sometimes the zsb files will not pull every item from your zazzle shops and there are a heap of reasons it may not, here are a few of the most common.
> If its got a rating of anything over PG it wont show.
> Some items if they need to be reviewed like postage and such does sometimes takes days or even weeks to show up.(not sure why)
> sometimes restrictive products and templated products do not show up for several days also
> some of the newly structured categories that zazzle changed a couple of months ago also seem to take a week or more to show up.
Ive seen some of these types of items show sometimes and then not at others. Ive got a particular site I use to test on and specific pages I never make changes too, one week show 55 items and next only 54 then then 56.
Like stated, I think its a feed issue, combined with how often their updated too.
Thanks for all your help Paul.
LG
Downloaded the latest version and when I activate it, it gives a fatal error:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ‘)’ in public_html/wp-content/plugins/zstore-helper/zstore-helper.php on line 391
Paul Robinson
Hi,
Sorry about that. While I was writing out the new list of products I missed a comma.
I’ve fixed the error and updated the ZIP file.
LG
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?
Bill H.
LOL, Mr.Paul always on the ball, was just coming to post about this…..
Thanks Paul as always
Bill