Using Marketpress to sell images in a private area??

Hello fine folks of WPMU DEV land.

Right here is a wee brain teaser Ive been thinking about.

Im currently working on a project where the client wants to sell images direct to specific clients. So the images will be for that specific client only.

So I thought lets make a “client login” page which is populated by posts (one for each client). Then in these client posts I will add the custom shortcode to display all the images/products specifically for them e.g. [mp_list_products category=”client-name”]

Doing this way I can then password protect the post and hey presto only that client can see hteir images…..but wait the products themselves still have their own unique url via the store page e.g. so people could still access the images directly using that….not good.

So then I thought what about using the “store” page as the “client login” page. Each category will relate to one client as before but I could password protect the actual category somehow. Yeh man this will be easy I thought……eh no plugins to do it? Really!! Ive literally seen hundreds of folks asking for this and thought hey the dev guys here could prob knock something up mega quick, even if you released it free on the repository it would be awesome exposure for you guys as loads of folk asking for it.

Anyway my problem is how do I either:

1. Use my first thought but block people visiting the direct store url


2. Password protect the marketpress categories?

or perhaps someone has done something similar in a totally different way…Im extremely open to suggestions right now.


  • Timothy
    • Chief Pigeon

    Hey there.

    I was having a think about this…

    I think I would use multisite and network activate MarketPress. Then:

    Client 1 can then purchase and download their package from that site. You just give them the link. It still looks like the same site, heck you could use the subfolder version instead.

    You could use something like membership but then you would have tons of different levels and subscriptions which will get messy.

    Or for a manual approach something like this:

    That one was suggested in a similar thread we participated in:

    Its a similar concept.

    Take care.

  • Dean Kaus
    • The Bug Hunter

    I also have a need to have the ability for my portrait clients to be able to go to a password protected page and be able to view and order portrait prints. I’ve been trying a couple of different ways to make this work…

    Currently it looks like I may be onto something and it appears to be working ok in test mode.

    I enter the products (in the event of downloadable make sure you enter the file location, this will be encrypted so no one should be able to just download anything but a thumbnail version) I personally set my downloads number to 2. If they need more then they have to either call and I can see what they are trying to do.

    Anyway for each product I create a custom product tag for example johnson-proofs for each of the photos that will be available for purchase.

    Then I set up a password protected page with the clients last name and email them the url or you can leave it listed in your menu (if you have a lot of clients this list can get long, I’ll try to work on a custom proof page that will list all available proofs/clients)

    On this newly created page you can type in some sort of message or instructions for ordering etc…

    then paste the following shortcode. So for my main store page which has all of my sports DVD’s

    [mp_list_products paginate=”true” page=”1″ per_page=”10″ order_by=”price” order=”DESC” tag=”sports”]

    For my portrait (private client) I create a password protected page with their last name in this example

    I then paste the following short code

    [mp_list_products paginate=”true” page=”1″ per_page=”10″ order_by=”price” order=”DESC” tag=”johnson-proofs”]

    Notice I change the tag portion of this shortcode to match the name of client or items and only their proofs appear on that page and nothing else. In addition on the products page or the main store the private proofs are not available.

    However there is one problem I still haven’t figured out is how to disable the drop down (under store top menu) for products, currently it will show all products. I’ll have to work on this a little more to see what can be done to NOT include all products.

    Currently I’m using the custom menu option for this. A temporary fix for this problem until I can find something better is under store settings – presentation I scrolled to the bottom in the url slugs and simple deleted the word products. This in turn returns you to the main store page which you have displaying only what you want by setting the tags

    You can check out my site at on the top menu I have

    Hope this helps and it would be nice to have some of these features built in to a future release to make it easier to make private pages and products.

    If this works and you like it I can sure use some rep points!

    Thanks A Bunch

  • ThePath
    • The Bug Hunter

    Hey thanks for the input guys et me run through each of them in turn:

    @tim – Yeh I had thought about going along the lines of multisite as I found loads of plugins that password protect the whole site. So it would be easy as you say to email the client with their url and password to access their own site. However bare in mind this is for a client and not for myself and Im under strict instructions to keep it as simple as possible. I feel that making new sites up and managing varous admins may be a litle daunting for them.

    You said I could use membership and I can but not in the way I think you mean. What if I used membership to simply protect the /store/ pages? Would that work? So I would protect using membership not allowing anyone to access it but then use the marketpress shortcode to display them on the post/page I want.

    @dean – This is pretty mcuh what Ive done so far only instead of tags Im using categories to list the products. As I mention above this doesnt get round the issue of people being able to access your products directly rather than through the password protected page.

    I may have an idea to get rid of your drop down (save editing the core code). What if you remove the “store” menu item from Appearance->menus, then add a custom menu link, which links to the store url?

    I’ll try to work on a custom proof page that will list all available proofs/clients

    This is what Im doing, intended to create a “client login” page which will be populated by posts, these posts relate to each client and will be password protect and will list the marketpress products/images for sale just for them. I could do it with pages but it requires a little more work and tinkering and another plugin for page excerpts I think. I did it before on on their homepage it pulls certain pages featured images and excerpts and dusplays them on the front page in a random order.

    Hahaha I would give you some points but I reckon I might have helped you more than you have helped me :wink: If you can come up with a better solution to stop people accessing the direct store/cat/prod urls than using membership to stop them then some points will come your way for sure.

    Thank you both for the input though…..any other thoughts, tips?

  • ThePath
    • The Bug Hunter

    OK Ive had a look at using membership to block access to marketpress catgeories but they dont show up in the access levels options on the right, its only marketpress pages.

    So I have abandoned using membership to restrict access to these, I realise that I could probably block the urls through membership but I feel its getting to complex for the client using membership.

    Humf this has me stumped a bit. Anybody got a good solution?

  • Timothy
    • Chief Pigeon

    Well if I don’t think it would be so hard for them, you cold use the text changer to make it more obvious to them.

    Sites –> Client Area

    When they create a new site or client area then the account details are automated and sent to the client:

    A new user will be created if the above email address is not in the database.

    The username and password will be mailed to this email address.

    Or for creating sites/users:

    As you know we have a password protector as well:

    But I wouldn’t go there. I would probably use the Privacy option:

    Maybe even use New Blog Template as well. So you set the site up, default options all set for them. Its hidden from non clients.

    I’m sure you see where I’m going there. But honestly I think it is all in the wording here. Blogs = Client Area. Sites = Client Area.

    Ultimately though it is what works best for you and your client. Perhaps just toy with the idea a little more and consider all the options and what works best.

    Take care.

  • ThePath
    • The Bug Hunter

    OK so this is where I was thinking

    1. Admin creates a page (yes Ive decided on pages now) for each client. Each page is password protected.

    2. These client pages are pulled into a global “client login” page. So people click on their page and are asked for the password.

    3. Each client page will have a corresponding marketpress category. Displayed via the shortcode only the images in their MP catgeory will show up on their page.

    4. Setup another category for the website admin to add their own images for sale and customise the stores homepage i.e. /store/ to only show this category.

    It almost ticks all the boxes but again the full url is always visible when the view an individual product. So no matter what route they take i.e. once they click on an actual image to get any options and add to cart then they will see the full url i.e. mywebsite/store/client-category/

    I dont spose thats too bad as only they would see it……

    MMmmmmmmm so if I went down the multisite route I could:

    1. Each client has their own site where I can have MP already installed and I can use the plugin from here to install the correct theme on the subsite.

    2. Admins can add all the products on the clients own site.

    3. Admin can set a password to block the whole site? Im sure there are plugins that do this.

    4. On the main site I can use a plugin to pull all the links to the subsites and stick them on the “client login” page.

    5. This would free up the marketpress install on the main site to just cater for the admins images they wish to sell.

    OK you got me Im leaning towards the multisite option.

    Thanks all I shall report back

  • Timothy
    • Chief Pigeon

    So no matter what route they take i.e. once they click on an actual image to get any options and add to cart then they will see the full url i.e. mywebsite/store/client-category/

    Maybe I’m not understanding something here?

    Are you not using MarketPress to check the item out?

    If so the URL should be masked. You would only have a same for the product image?

    I was thinking about the Multisite option more and to stop those clients from doing anything admin like (ie restricted to Network Admin only) because when you create a site they become and admin…. You could use the role editor plugin to restrict full all the default user roles:

    Sorry that part was just niggling me, because obviously you want to quickly add them but you don’t want them controlling MarketPress or the site admin options. Or the other option would be add them as a normal subscriber.

    Sorry, just thoughts. Even though I use a computer all the time I often find for figuring these sorts of things out the good old pencil and paper helps (my thinking process I suppose). Assessing the pros cons, changing the ideas as you go, that sort of thing.

    Take care.

  • Dean Kaus
    • The Bug Hunter

    Hello @timothy and @thepath Sorry it took so long to get back to you. Had a rough day at the doctors office and was pretty wiped out. Also I’m on Chicago time zone.

    From what I understand the url pages are loaded as slugs and created on the fly. So I don’t think that the actual location of your file/files are ever exposed. I could be wrong and maybe @aaron can confirm this fact.

    If the url to the actual file is shown I actually keep the downloadable product in a separate location and that link is pasted in the url location for the actual downloadable product. The client doesn’t see this location as they will only see the thumbnail or watermarked version. Marketpress will email them the link’s to the files they purchase and those are encrypted.

    You can visit my test section I’m using at In the menu the test proof is under johnson proofs and the password is test

    Even if they were exposed the only person that could give out this link is the client who receives the password. If they want to give it out to their friends that’s fine by me as they may order photos as well. I don’t care who buys from me I just need their money.

    When I sell a digital download product (or DVD if they purchase in my studio) I price accordingly. Figure out what my normal average profit I make per portrait and then that becomes the cost for them to download the file. I usually have 3 sizes. For $8 they can download a small low res that is good enough for FaceBook and the web. The next size is good enough to print up to 5×7 prints and that is $35 and if they want a larger high quality then that price is priced accordingly. I’m starting to charge more for my session fees and if they want me to retouch the files there are add on fee’s for that as well.

    Also once the purchase for digital download is made an encrypted link is emailed to your client and they can use that link for however many times you have set in the store settings, under general section. I set mine to 2 so my client can download and then their printer or company can also download.

    There is a lengthy discussion over this concern in the following thread.

    @thepath I personally think that the multi-site may be much harder and confusing for me. The reason I didn’t use categories is my plan is to have One Menu item for Purchase Photos Here. Then on that page I will set up links to the separate clients via hyperlinks or other method to take them to their password protected pages. From their only their tagged photos will appear for them to purchase. This way it will also allow me to have any public pages appear as well. Say if I photo a charity event or such where I want everyone to be able to view and purchase photos.

    @thepath I wanted to thank you for your input about the menu. That’s just about what I had done for my temporary fix but I did it a little differently as in my earlier post above.

    Well my brains fried for now I’ll try to get back on later.

    PS I don’t recall if @ginab was in on a similar conversation in another thread or not and she may have some additional insite as well.

  • Dean Kaus
    • The Bug Hunter

    I just discovered a big problem. If you have products that have options then tag or something else doesn’t work properly. This will have a big impact on selling portraits online since each pose will need varied options as sizes, black and white etc…

    I’m going to take a break from this and come back later this evening or tomorrow.

  • Dean Kaus
    • The Bug Hunter

    So I had to reset my site (I really need to set up a test site somehow) because my clients couldn’t order the soccer DVD’s. Apparently when I removed the Products slug so it wouldn’t show all products. Then it removed the ability for any options that I had set up.

    So for the time being I’ll still have to use my other company that hosts and sells portraits for me.

  • ThePath
    • The Bug Hunter

    @tim No the actual url to the product can be found out and shared essentially. You can only mask the download url. The goal is to stop anybody else seeing that clients photos. They way MP works obviously is that each product has a permalink (as its a post). This could be found out by someone who knows the system essentially. This is why Im leaning to the multi site idea as it offers the greatest protection. Also to answer your other point I hadnt planned on making them an admin to be honest. I was just going to get a plugin to password protect the front end which they have to log into. It will only be the super admin with access to admin panels.

    @dean yeh as I was saying to Tim its not the actual file urls Im bothered abou its the actual product urls, I dont want other people to view a clients photos just that client. Because each product/image will have a post/product permalink its nigh on impossible to hide going the client page way, so Im leaning towards multisite.

    Even if they were exposed the only person that could give out this link is the client who receives the password.

    Not true I know MP and WP I could easily gain access directly to your product urls. Perhaps see some private pictures for the client only and copy the low res ones displayed on the product page….no need to pay, no password required, no need to download. Then boom clients personal pic is plastered on Google and Facebook. Not good. But using the multi site method I have far more control over security i..e locking the whole damn site with a password access, that way if a client wants to share the password then fine but nobody else can access via just knowing the system as the whole thing is locked down.

    I personally think that the multi-site may be much harder and confusing for me.

    If you think of the sites just as extended pages then the concept pretty much works the same way as if you were just using normal pages, only with the added benefits that sites give you. You would still have one link saying purchase photos here which leads you to a client page where they are all listed, the links on it simply lead you to a site rather than a page……same diff dude :wink:

    If you have products that have options then tag or something else doesn’t work properly.

    Yes I need to be able to sell frames and sizes etc so options are definitely required. This of course means you need to visit the full product url to add them to cart…..and of course this full url cannot be protected from people who know the system as it bypasses the client page all together!

    Multisite my man, this is the way forward!

    (I really need to set up a test site somehow)

    Why cant you? Do you have other domains you can use? You can get free hosting with me at perfect for testing your sites, you just need a domain to test them on.

    You could use a subfolder on a domain you have already setup but I dont think you can use multisite if WP is in a sub folder.

    Im definitely going down the multisite route, if you feel you need some support on how to do it this way then let me know and I will assist you no probs!

    Phew, glad Ive finally worked out how Im going to do it, half the reason I started the topic just to work through my own ideas….the modern day pencil and paper Tim :wink:

    Im gunna mark this as resolved by feel free to continue comenting as Im following the thread.

  • ThePath
    • The Bug Hunter

    I just relaised my advice above doesnt work Dean. I tried replacing the “store” menu item with a custom link, but the damn drop down still appears. Why does MP do this? Why cant it just create dedicated pages like STORE and we can choose to add them or not in appearance->menus, surely this offers more flexibility?

    By the way if you totally want to remove this submenu you can edit the core code in the marketpress/marketpress.php from line 1322

    But I hate that as its a hack and will be over written when updated. Meh

    You could not show the menu via CSS but there is no definitive style for the store menu so you would have to go by what WP produces i.e. menu-tem-111 again not ful proff as you could remove the menu and add it again and it would have a different number. Meh

  • ThePath
    • The Bug Hunter

    Hi all,

    Just thought Id say that I did the site the way I said in my last post here. You can see the result here:

    It doesnt have any real content on it yet but you get the idea. Try right clicking, nice little JS warning (I know its easy to get round but atleast its proactive).

    The sub sites can be protected by password with the privacy options plugin from here.

    Been an interesting site to work out anyway!

    Thanks for being part of my mullings! :wink:

  • Timothy
    • Chief Pigeon

    Great to see you made progress here.

    I do like that JS warning, its pretty cool.

    You are right, it’s easy to get round. Most browsers come with developer tools, all have view source and then there is firebug. Unfortunately all ways to see the image url. :slight_frown:

    I do keep seeing cool ways to prevent that through by obscuring the url.

    Take care.

  • Dean Kaus
    • The Bug Hunter

    Hello @thepath and @timothy Check out my website at I use a theme for that site that I believe is pretty secure as I don’t believe it reveals the location of the photos. I guess that you could do a screen capture but I don’t think the quality is that great. There is a link at the bottom of my website with a link to the company photocrati. It’s pretty cool and the customer service there is excellent. It also has an eCommerce solution built in but options are limited. In fact they are the ones who recommended the WPMU DEV site and Marketpress to me.

    Thanks for the follow up!

    BTW I like your right click message and have a site or 2 that I may get back to you on how to implement that code.

    @thepath sending some points your way to put you halfway to your lifetime membership!

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.