Sunshine Photo Cart: Free Client Photo Galleries for Photographers Plugin
Free client photo gallery for professional photographers. Sell photos to your clients from your own WordPress website.
Sunshine Photo Cart is a free client photo gallery plugin for WordPress that let’s you sell photos securely with professional features, no limits or commissions, and 100+ 5-star reviews. Quickly create galleries, sell photos to clients, and make more money than ever.
“I would say my sales went up at least 300% since installing Sunshine Photo Cart.” – Edward Amos
“Sunshine elevated my small photography business and I know it can elevate yours as well.” – Kendra Heller
Sunshine Photo Cart is used by thousands of wedding photographers, portrait photographers, school/sports photographers, and fine art photographers around the world. Check out all our testimonials, detailed case studies, and example sites to see how Sunshine has helped other photographers just like you.
“Sunshine Photo Cart has allowed me to deliver proof galleries quickly, efficiently, and effortlessly. This plugin has really taken out the aggravation of setting up galleries, allowed me to work more efficiently, and gives my clients such an easy-to-use interface for viewing. I am grateful I found it and highly recommend it to other photographers!”” – Drew Johnston
This free version is fully functional and has the following features:
Cart system for letting users choose photo, select product and add to cart for purchase
Accept offline payments (check) or online payments (PayPal, Stripe*, Square*)
Unlimited galleries, images, and products!
Integrates directly into your theme automatically (or use one of our design layouts)
Upload images via FTP or browser in WordPress admin
Galleries can be password protected, require email, require user account or be completely private for specified users
Gallery expiration dates – great for pressuring clients to buy and not wait forever without purchasing
Sub galleries – organize your client photo galleries into a hierarchy, great for weddings or large events
Favorites – Let users select their favorites, view any user’s favorites in the admin
Social sharing – Get friends and family to see photos, increase exposure and possible sales!
Watermarking – Automatically have a watermark added to all your images when uploaded to a gallery
Multiple shipping methods (Flat rate, local delivery, pickup)
Easy order management
Printable invoices
International ready – Works with all currencies and translated into German, French, Spanish, Dutch, Finnish, Portuguese, British English, Norwegian, and more! Learn more about translations
Upgrade for more features
The free, core plugin offers an amazing set of features but you can upgrade to take your client photo galleries to the next level by using many of our add-ons. Learn more about our pricing plans
Our full-list of available add-ons that are available individually or as part of our money-saving pricing plans:
Digital downloads – Allow users to purchase digital download files at any size and have instant access to files securely
Discount codes – Boost sales with flexible discount codes, enticing customers to purchase more
Lightbox – Deliver a seamless browsing experience with user-friendly lightboxes and slideshows for your clients
Advanced Analytics – Gain key insights from gallery analytics, best sellers, and precise profit figures to guide your sales approach
Price Levels (price sheets) – Set unique prices for your products across your galleries giving you more control, flexibility, and profits
Packages – Bundle products to offer clients more prints at a discounted price, encouraging larger purchases in a single transaction
Product Options – Increase sales by empowering customers with customizable options for anything from frames to paper types
Multi Image Products – Products, like picture boxes or albums, that let customers select many photos
Exports – Simplify financial reporting and order fulfillment with effortless CSV exports of order data
Automated Emails – Empower your outreach with automated emails, tailored to your clients’ gallery interactions for a personalized touch
Client messaging – Simplify the task of inviting clients to galleries with message templates
Minimum Order – Boost your sales by setting a minimum order requirement for checkout
Quantity Discounts – Stimulate larger purchases with quantity-based discounts for your clients
Price List – Effortlessly display product pricing on your page with our simple short code
Advanced Shipping – Set more complex rules for when specific shipping options are available
Exports – Simplify financial reporting and order fulfillment with effortless CSV exports of order data
Light Blue – Integrate with this popular photography CRM
Also available are these additional payment gateways with no added fees!
Sunshine itself does not impose any limits on galleries, images, users, etc. You may want to check with your web host about your available file storage. There are many great web hosts which offer huge amounts of storage if you do have a host with small disk space limits. Otherwise, Sunshine does integrate with Amazon S3 for infinite file storage via the WP Offload S3 plugin.
Yes! Please see our translation site for a list of all active translations, help refine an existing translation, or start a new one.
What types of photographers is Sunshine Photo Cart for?
Sunshine Photo Cart is primarily geared towards photographers selling to their clients such as weddings, portraits, events, schools/sports but also a great option for fine art photographers as well.
How can I report security bugs?
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.
Changelog
3.2.5
Add new Product Type filter in products admin table
Hotfix – Not logged in multi-image selection fix
3.2.4
Remove Stripe/Square SDKs, use native functions to massively reduce overall file size of plugin
Fix mobile image select for gallery image upload in admin
Filter sunshine gallery images to not use Jetpack/WordPress.com Image CDN to prevent watermark issues
Fixed and improved discount validation check rules and applying discount per line item
Fix get product max quantity check function (remove version without filter)
Update icons used for better UI consistency
Fix and improve the multi image selection JavaScript
Set lang strings to be passed to sunshine.js so they can be translated
Translations updated
3.2.3
Show ID in admin table list for galleries and products
Update add to cart to allow empty gallery ID for general products
3.2.2
Prevent ability to favorite images from private galleries current user does not have access to
Translations updated
3.2.1
Fix allowing free shipping with discount code + restrictions
Fix add to cart permission checks to allow Sell Anything products with no image
Updated order access check function
Fix getting cart total as proper float value
3.2
New! Drag and drop to set the order of payment methods
New! Add new Stripe option to configure layout: tabs vs accordion
New! Add-on category filters to make finding add-ons easier
Adjust the Checkout payment options so the payment fields are closer to the selected payment option
Checkout will auto select the first payment option even if multiple are available
Fix [sunshine_gallery show_main_menu=”false”] does not show main menu
Adjustment to cart_total_formatted()
Add filter to customer gallery query args
Style adjustments to mobile checkout
Adjust checkout shipping/payment selection to make it more clear they are selectable options, default to first if none yet selected
Fix resending order receipt email so it does not send to the admin
3.1.13
New! Order Status Update email
Change position of single image menu icons to be above image instead of on top
Adjust various styles for text colors
Fix capabilities for price levels
3.1.12.1
Fix issue with debug code left behind which did not allow Packages to be shown with image add to cart
Update gallery password form to say “Gallery Access Code” to reduce confusion, languages updated
3.1.12
Add password generator button for galleries
Add filters for allowed products for image and for store
Add reinstall Tool
Fix discount calculation when applied after tax and line item has qty > 1
Fix searching multiple levels of descendant galleries
Fix query to get all customer’s private galleries
Fix checkout required fields so if marked as required but not visible it still shows the fields
3.1.11
Refinements to onboarding flow
Invoice only shows filenames to admin and if there are filenames for the line item
Fix bugs related to parse_query introduced in 3.1.10
Fix issue with finding alternate translation file but using en_US
Order details properly show filenames with period in middle of filename
Order search now also searches order line item metadata
3.1.10
New onboarding flow
Filter orders in admin by mode and payment method
Improved invoice display for multi-image and packages
Allow sunshine_get_orders to ignore mode with “all”
Better collection of cart item meta during order
Adjustments to license settings page
Improved failed modal opening error display
3.1.9
Addons page more clear when they need an upgrade to be installed
Will pull main language po file when specific dialect is not available. Ex: es_MX -> es_ES
Fully update languages
Order line item with options saves with incorrect price (option price added twice)
Fix mobile styling of modal close button
3.1.8
Show all private galleries assigned to a customer in their admin Profile page
Fix issues with tax applied to customers outside the allowed taxable locations
3.1.7
Further refining how taxes are added up in price with tax + show with tax situation
3.1.6
Add invoice link on order receipt page
Fix invoice templates to include “extra” line item data
Accessibility feedback implemented
Further fixes for price with tax + show with tax and discount totals
Fix for PayPal with rounding errors for price with tax + show with tax
3.1.5
Fix rounding errors in cart line items and tax calcs
Allow discounts to be applied after tax calcs
3.1.4
Fix taxable shipping, enter prices with tax, and show price with tax it was not calculating the shipping tax properly
Fix adjusting tax totals immediately when taxable shipping method is selected
Fix issues with credits applied at checkout when price with tax + show with tax
3.1.3
Fallback featured image option for galleries
Default image for password protected galleries until access is granted
Fix issue with checkout where logged in user cannot get past first step if guest checkout is not enabled
Fix checkout where selecting pickup no longer allows changing to shipping for delivery method
Fixes for all variations of price entered with tax/show price with tax configurations
Two new filters to more easily customize text when login is required for a gallery: sunshine_gallery_require_login_signup_message and sunshine_gallery_require_login_message
Translations updated
3.1.2
Security fixes
Remove custom order item tables during uninstall
Options to make phone/vat/notes required fields at checkout
3.1.1
Fix tax amount sent to PayPal when tax included in price
Add [order_number] template tag to order receipt emails
Adjusted default customer receipt email to include link to invoice
Fix PDF invoice download
Fix PDF invoice to use new custom order number
Change how gallery content is displayed to better work with some themes/blocks
3.1
New! Payment method fees
New! Custom order numbering
New! Option to limit quantity of a product
New! Option to disable need for shipping on a product
New! Tax report
Updated translations
Restructured how tax amount is determined for better accuracy across pricing setup (with/without tax in price)
Properly replace template tags in Messages during Sunshine 3 upgrade process
3.0.24
Fix order number format back, previous was a breaking change
3.0.23
Fix finding galleries from just password when access type is direct URL
Fix scroll issues on mobile for long product list in add to cart window
Add more hooks to invoice template
Force use of own translation files within plugin, no longer using from .org
Fix order value return numbers to use the sunshine_format_amount function
Updated all translations
3.0.22.2
Removing file name in line item data sent to PayPal, causing too many issues
Fix maths in cart when discount total was over 1000
3.0.22.1
Left debug code in for sunshine_get_orders that only get test orders
3.0.22
Add PayPal Legacy payment method (for Personal PayPal account sellers)
Adjust store add to cart price display when images are not required
Ability to add simple product/image to cart from a URL
Allow discount codes to be all numerical when checking their validity
Remove image favorite if gallery has been removed (even if image still exists)
Admin order email add link to invoice
In PayPal, include image name as description in line item details
3.0.21
Show custom VAT label on checkout
Notes field at Checkout now shows and included in all order templates
Discount now includes descendants of allowed/disallowed
If shipping and pickup are both available, do not auto select first shipping option for cart until shipping is actually selected
Prevent access to store for gallery when products/purchasing is disabled
Added Site Health recommendation if PHP memory is less than 256M and to ask host for more
Additional styling to comments input when adding to cart
Fix Sunshine 3 order update process when an order line item does not have gallery_id set
Prevent duplicate metadata issues for Sunshine galleries
Show discount codes applied in admin order details
Taxes applied when Pickup/Digital Download delivery method selected and products in cart are taxable
Properly get fallback/default Price Level when one is not properly assigned to a gallery
3.0.20
Fix Classic main menu styling issues from 3.0.19
Add wrapper classes for single gallery embed, fix menu CSS
Put Favorites at top of source select list for multi-image products
Always show customer name in the invoice
Add an admin URL query var to show some debug info to help with support
Fix checks for login/password reset account endpoints so they work with customized options
Ability to clear the Sunshine log file
Do not include customer password in new account signup email
Bring back option from Sunshine 2 to require an account and be logged in to see products
Fully clear old cart data on upgrade to Sunshine 3 so it does not cause fatal issues for admins
Do not prompt for shipping at Checkout if no shipping methods are enabled
Fix issue when going back to Delivery method, selecting Pickup, and total still adding in previously selected shipping cost on immediate refresh
Send weekly email summary even if no orders
Further fix for properly sending allowed tracking data
Do not init Stripe payment intent if $0 order
3.0.19
Major PayPal update to work in more situations (payment popup was disappearing), removed PayPal SDK as no longer necessary with new integration
Updated Square/Stripe SDK
Tracking info properly sending each week when enabled
Properly dismiss notices button visible and functional
New promos for volume galleries, price levels
Option for plan users to hide any promos throughout Sunshine
Fix Clear Favorites button
Fix invoice line item amount
Fixed email signature not being included
Order report data only get count orders, do not count test
Set default view order endpoint to “order-details” to prevent conflict with WooCommerce
Better reset permalinks when URLs are changed
Update how custom invoice content is put in the invoice to prevent page builder conflicts
Frontend notice when viewing order details if order is a test
New filter to customize redirect URL after login
Improved order comment email templates
Fix masonry display for Galleries tab in account
Improved image regeneration for offloaded images
Only show gallery content once access is granted
Allow quote marks in passwords (but don’t recommend using)
More clear indicator that selected FTP folder has new images available for import
Setup gallery post type URLs to work better for sub-folder WP installs
Adjustments to CSS for modal windows on mobile
Set “Friend” as fallback for all emails using the [first_name] placeholder
New filter for logout redirect URL
3.0.18
New! Set specific logo for invoices
New! Separate gallery layout option which allows you to set a different layout for just galleries
New! Account page: Galleries – displays all private galleries assigned to the logged in user
New! Use built-in WordPress system info/site health report
Adjust when cart is cleared to ensure it does not clear when a failed payment happens
Fix display of tax total on customer receipt and admin order page when prices include tax
Fix display of line item prices on customer receipt and admin order page when prices include tax
Show all image meta data values in admin for a media attachment
Show proper image title when loading more images in gallery via infinite scroll
Show order line item options in printable invoice
Show logo on invoice when selected
Do not allow invalid PayPal orders to go through
Adjust Checkout structure so hitting enter to apply discount code does not submit the Checkout page as a whole
Prevent Stripe/Square from loading at Checkout if not yet properly connected
Remove issue with spaces in PayPal API keys because their copy/paste is bad
Do not show offline payment instructions once order has paid status
Fix issues with license keysed during update process
3.0.17
Fix issue with sessions not being set because of plugin conflict
Admin order details links to customer page instead of WP user edit
Customer page has link to WP user edit
Option for sign up password to be optional
Allow First/last name on sign up form and allow to be optional
Allow signup/login forms use even more autocomplete options for mobile to make it easier/faster to fill out
Update default email subject when favorites are submitted, allow email address
Fix issue where permalinks for galleries not getting set on new install
3.0.16
Notice when logged in as admin viewing password protected gallery that you get automatic access
Notice in admin for Rank Math SEO users to disable attachment URL redirects
Checkout display fixed when order is free after applying credits
Fix checkout validation check when square or stripe is only payment gateway & customer pays in full with credits
Fix order change status checkbox to notify customer was not sending email
Fix issues with bulk editing custom order statuses
Specific search terms would cause fatal error
When logging in to view private gallery, redirect back to gallery instead of account page
Digital download items removed from cart during Update Cart because qty field was disabled, switched to max qty of 1
Disable sign up option will also remove the password (thus account sign up) from the Checkout flow
Add to log whenever email is sent
Updated new account email to customer after registration
Update/install process handles new option for 6.4 to enable media attachment URLs
Added en_GB translation, updated all others
3.0.15
New! Ability to disable account sign up
New! Option to collect comments on item during add to cart
Don’t set galleries as not public when registering if Hide Galleries from Search Engines is enabled so URLs can still be editable, rely on noindex meta tag only
Fix issue with empty emails
Show selected product options on Checkout cart summary
Improvements to showing tax/no tax in pricing based on settings and showing totals with notice about tax as needed
Square/Stripe was allowing orders to go through when the CC form was not properly initiated
Fixed search result template for Classic/Cover themes
Fixed search results to follow gallery permissions for user
Delete the FTP folder when gallery is permanently deleted based on option
Fixed PayPal when prices include tax
Always include image filename on each line item + new filenames list in admin order receipt
Properly create account at checkout as needed
Show prompt to login at top of checkout page
3.0.14
Different payment gateways can change the submit button label, Offline payments will now only say “Submit Order”
Adjusted how checkout JS was output because some themes were having issues
Improve admin speed by not loading post type options until absolutely necessary
New “galleries” meta field type that allows for easily searching/selecting galleries for various areas, ideal optimized for larger sites
Fix issues with bulk order update sending emails incorrectly
Fix links in order details to an image’s gallery
Improved order search in admin: Search first/last name and email
Fix issue with tax not always being added to order total
Fix link to order receipt page in email when guest checkout used
New Customer Signup email notification available
3.0.13
Fix issue around resizing watermark before it is applied based on Max Size settings
Customer search now looks at first/last name as well
User selection now search powered so sites with lots of users do not crash
Add email to printable invoice
Fixed issue with weekly summary email being sent in some cases
Fixed cart/order total number formatting issue when over 1000
Fix issue with Load More button for pagination repeating first page of results
Only apply standalone checkout class to body when on the checkout page
Update email custom messages to not run through the_content filter to prevent some issues in specific cases
More customer information in admin order receipt
At checkout, shipping defaults to using the first/last name from user account or the name given in Contact section to make easier
Fix searching all galleries
Fix orphaned images removal tool
Fix issues preventing discounts to properly take max quantity into effect
3.0.12
Showing Free shipping option properly based on discount setting
Further refine setting default shipping method at checkout for customer
Do not set shipping option for cart if it is no longer allowed after cart changes
Adding back [sunshine-gallery-password] so there is less confusion about the shortcode update to [sunshine_gallery_password]
Fix applying tax when set to All Countries
Fix getting billing address line 1
Sunshine 3 update does not try to update newly created galleries
New “force” URL param for the update to process only one specific section to run the update
Show error notices for gallery password shortcode
Adjust CSS in Classic theme on mobile so it does not hide gallery password form shortcode on other pages
Fix standalone checkout to properly show receipt page after order
Fix sorting product categories when there were more than 10
Image regenerate more clear when it is done
Fix reports to show even if no orders yet
Fix issue in Sunshine 3 update with customer roles
Further improvements to help preselect single payment method during checkout to save time
Displaying Title even when Filename is selected to show for each image thumbnail
Improved search query
Keyword editor field for an image in admin
Improved efficiency for multi-image select when changing galleries
3.0.11
Emergency fix to prevent deletion of package data in orders
3.0.10
New option to only allow test payment method for admin users
Add closing HTML tags for classic/cover themes
Deactivate any Sunshine 2 add-ons the moment they are activated to prevent crash with notice to outline next steps
Include admins in the Customer list
Fix issue with applying credits at checkout
Fix admin order status notification error message showing when it was working
Restore custom HTML output for showing an image to prevent WP srcset fallbacks from showing full res image
Remove required on inputs in post type metadata to work when Gutenberg is disabled
Show full gallery hierarchy in admin order line item details
Make search results data more accessible so add-ons can use data
Better search result templates
Admin notification if Yoast SEO is active and it is blocking attachment URLs
Improved mobile styling
Add back “return to gallery” link on cart page
Make shipping method required and pre-select first option by default
3.0.9
Fix new install setting proofing to active by default
Fix default email subjects in non-en_US languages
Fix check for private gallery access
Checkout page CSS improvements to be more clear to users what is selected regardless of color scheme
Updated add-on licensing to work with new access pass system in EDD (use primary license key now instead of individual for each)
Filter on sunshine-gallery post type args to allow for customization
Can edit qty filter for cart items, used for digital download so customers don’t add more than 1 to cart
New Checkout option: Require address – Forces user to provide at least one address no matter what even if no need for shipping/billing.
Fix showing errors when uploading an image to gallery goes wrong
Watermark image upload/selection only allows png files, more clear instructions on this
Adjust how free shipping is allowed to work better with Advanced Shipping add-on
Improved image regenerate process so it deletes any extra file sizes accidentally elsewhere
Proper pluralization for wording in cart (“1 item”, “2 items”)
In Store View, no longer show the gallery content
New Design option to enable and allows better integration with page builders
Fix access to store when proofing-only enabled
Fix issue when gallery was set to Direct URL access but still allowing it as a source to fill package or select in store
Fix password reset process
Customer ordering for admin columns by numeric values
Classic theme logo/name links back to home page of site
3.0.8
Fixed gallery URLs to match Sunshine 2 and include the main Client Galleries page URL.
Fixed pagination
Fixed gallery URLs to set with_front to false for cleaner URLs for those who have more custom permalink settings for the rest of their site
Load default Sunshine CSS on pages using it’s shortcodes like sunshine_gallery and sunshine_gallery_password so they can be styled
Clear out Sunshine 2 session data to optimize options table
Show shipping address even if no shipping method selected in admin and order receipts
Properly handle 100% free orders
Fix display of categories in the add to cart modal when there are a lot
Update process now allows for incremental release database
Update product options where needed
Properly show shortcodes in gallery content/description
Fixed update process to clear out old cart/session data first so it does not cause memory issues for first step
Fixed update process to handle order package items
3.0.7
Fix license fields
Restore how overall templates are determined to prevent most themes from using single-post fallback which is ugly for galleries
File list in favorites email to admin
Filenames in copy removed extension for better searching
3.0.6
Fix getting default email subject issues
Bring back gallery access type: registered and logged in
Better handling of shortcodes in gallery descriptions and before/after content
Don’t show unnecessary pagination on search results
When only one payment method available at checkout, auto select and trigger it’s actions
Fix link from Users section to new Customer Profile
New customization option to include content on invoices
Fixed link to regenerate single gallery images for non-english sites
Fix PayPal needing prices as strings when sent to API for who knows what reason
Prices from Store View are shown as $X/each for better clarity
3.0.5
Fixed update system – images have watermarks applied
Fixed issue with product options not showing
3.0.4
Fixed update system – was not calculating how many things needed to be updated properly
3.0.3
Issues updating orders during update process in some instances
Fixed infinite and button pagination
Fixed pagination repeating images
Fixed favorites thumbnail display
Better checks when trying to limit image sizes to just Sunshine needed sizes, fixing image update times significantly
Fix issue with custom gallery store URLs
Custom CSS and before/after content now showing
Properly show image title/name when selected with thumbnail in galleries
Unused image size tool to remove accidentally created useless image sizes for Sunshine gallery images
Show instructions for offline payments on order receipt page and email
3.0.2
More ways to get back to the update screen when needed
Deactivate add-ons if they are not at 3.0 or higher to prevent errors
New – Option to disable the Store link for all galleries
3.0.1
Update process enhancements to help with common problems thus far
Handle licensing for various plans instead of just Pro
Add-on management based on active plan not just Pro
3.0
All new codebase
Entire UI overhaul
NEW! Store view
NEW! Cover theme
Multiple pagination methods
Multiple tax rates
Multi-shipping methods
Masonry/Mosaic part of core
Distraction free checkout
Test payment method
Improved email customization
Stripe and Square part of core (with platform fees)