Sell Media is a complete solution for selling images and other media directly out of your WordPress website.
Build your own stock photo, art or video site in a few minutes using Sell Media. Create and assign different licenses and prices for each image based on the anticipated usage of the media.
Categorize your media into collections, create private collections and display image metadata. Bulk upload many images at once to speed your workflow.
Sell Media protects your high resolution images by putting them in a folder that isn’t web-accessible. Need more protection? See the extensions below.
Sell stock photography and reprints
You keep 100% of the sales. Yessir!
Assign different licenses (commercial, personal, etc.) to your stock images to increase the price.Sell reprints
Our Reprints extensions will allow you to print and ship reprints yourself or automate print fullfillment through a third party print vendor.Sell other files
If you can upload it into WordPress, you can sell it. While Sell Media caters to selling and licensing photographs, it works with other media files, too.
Upload many files at once, edit in bulk, set default prices and licenses. Take that much-deserved coffee break.
We're sorta workflow nazis. We studied many of the most popular e-commerce solutions for selling stock and reprints and found some common problems: Bulk upload and bulk editing really sucked. Bad. So we decided to change that.
Sell Media integrates tightly with the native WordPress media uploader and bulk editing features. Using Sell Media is intuitive, familiar and simple. Use the drag and drop uploader to add new files for sale and edit them either in bulk or individually.
Protect high-resolution image uploads & stop theives from downloading your original source files.
Sell Media applies server-side security to ensure that the original source file that you uploaded is protected. Smaller versions of images uploaded to Sell Media are still accessible and can be watermarked, if needed, to dissuade image theives from stealing your images.
Sales reporting that even your accountant will love.
Track the success of your business using interactive sales reporting graphs built into Sell Media. View daily, monthly and yearly reports as well as the total amount of sales to date. Analyze customer conversion rates by comparing total pending sales to total completed sales. Business intelligence is baked right into Sell Media.
Works with any WordPress theme
While we would obviously love it if you used our themes, we built Sell Media to work with any WordPress theme. Simply add the required shortcodes onto your pages, configure your Sell Media settings and you'll be selling in no time flat.
You've made it this far, so it's time to let you in on a little secret: We're in the process of building some super awesome themes specific to Sell Media that will rival the functionalilty of major stock companies. ETA, you ask? Second quarter of 2013.
Still not convinced? Watch these videos.
Videos - Overview
Video Tutorial - Settings
Video Tutorial - Adding New Items
Video Tutorial - Collections
Video Tutorial - Licenses
Take Sell Media to the next level with these powerful extensions:
Sell Media is a complete solution for selling images and other media directly out of your WordPress site. Read the official blog post announcing Sell Media.
Sell Media is a WordPress plugin that allows anyone to sell, license and protect images, videos, audio and pdf's on their self-hosted WordPress site.
The Sell Media plugin allows you to:
- Sell any kind of media file that you upload into WordPress, including images, videos, audio files and pdf's.
- License your media for specific usages, including commercial, editorial, or personal usages.
- Create you own stock photo or video site.
- Protect file uploads.
- Accept payments via PayPal.
- Earn passive income by selling and licensing your media.
Take Sell Media to the next level with these powerful extensions:
- Activate the plugin.
- Visit Sell Media -> Settings and configure the options.
- Insert the required Sell Media shortcodes onto your preferred Pages (see FAQ section).
- Visit Sell Media -> Licenses and add or configure your default licenses for new uploads.
- Visit Sell Media -> Add New and upload an image, video, audio file or pdf for sale.
IMPORTANT: Final Step For Paypal Setup
You must setup your Paypal IPN URL for Sell Media to work.
- Login to your PayPal account.
- Mouse over the Profile menu option and then click on the Selling Tools menu option.
- Scroll down to "Getting paid and managing my risk" and click the Update link beside "Instant payment notifications".
- Paste your Paypal IPN URL onto that page in Paypal. Your Paypal IPN URL is located on the Sell Media Settings page.
I have 5k+ photos I would like to sell, can Sell Media handle this?
- Sell Media is a plugin for WordPress and WordPress can easily handle hundreds or thousands of files. That said, the number of images that can be bulk uploaded at once is largely related to server performance. If you are using a cheap, shared web host, then you will need to contact them and ask them to change [PHP settings] (http://php.net/manual/en/function.set-time-limit.php).
My file is 500MB+ in size but users cannot download the file after purchasing?
Check with your hosting provide on your download limits. Sell Media does not provide any type of file splitting service.
What are shortcodes and how do I use them?
Shortcodes are small snippets of code that when added to a Post, Page or Widget add functionality to your site. You must add the following shortcodes to your preferred Pages to use Sell Media:
- Checkout Shortcode - (REQUIRED) Create a page called "Checkout" and add this shortcode to it:
- Thanks Shortcode - (REQUIRED) Create a page called "Thanks" and add this shortcode to it:
- Buy Button Shortcode - (OPTIONAL) Used for displaying specific items for sale:
[sell_media_item id="1893" text="Purchase" style="button" size="medium"]Options include: text="purchase | buy" style="button | text" size="thumbnail | medium | large" align="left | center | right"
- Search Form Shortcode - (OPTIONAL) Used to display a search form exclusively for searching items for sale within Sell Media:
- All items shortcode - (OPTIONAL) Displays all (or a certain collection) items in a grid view:
- Download list shortcode - (OPTIONAL) List logged in users downloads:
How do I show my checkout cart?
- Create a page called "Checkout" and add this shortcode to the page:
- Visit Sell Media -> Settings and select the Checkout page you created above to the "Checkout Page" option.
How do I show an item available for sale?
You have two options:
After adding a new item for sale on the Sell Media -> Add New page. Use the following shortcode with your ID for the item you would like to sale:
[sell_media id="257" text="Purchase" style="button" color="blue" size="medium"]You can locate the ID of the item by looking at the URL when editing that item in WordPress. For example, http://test.com/wp-admin/post.php?post=1891&action=edit The ID is 1891, so the shortcode would be
[sell_media id="1891" text="Purchase" style="button" color="blue" size="medium"]
Each item you add for sale also has a dedicated URL. Click the View Item button after saving your first Sell Media item. You could then add the link to that specific item to one of your Menus on Appearance -> Menus -> Custom Menu Item.
How do I bulk upload images for sale?
- Click Sell Media -> Add Bulk
- Click "Upload or Select Images"
- Simply drag and drop your files into the box that appears, or click Select Files to choose a file from your computer to upload. Please keep in mind that the drag and drop uploader only works in browsers with HTML5 upload support such as the latest versions of Chrome, Firefox, or Safari. Other browsers will still show the Select Files button or the basic browser uploader form.
- This item will be added as a new entry in Sell Media. By default, the newly created Sell Media item will inherit the sizes, prices and licenses that you chose on Sell Media -> Settings. You can modify the price and available licenses on the Sell Media tab by editing each individual item.
How do I display a gallery of images for sale?
Sell Media includes a new "Collections" taxonomy, which you can see on the right side of the screen when adding a new item to Sell Media. Assign each item to a specific Collection and the items will be displayed on that specific collection's archive page. You can then link to the collection like this: http://example.com/collection/my-collection-name/. A list of collecitons also shows up on the Appearance -> Menus page so you can add them to any menu.
How do I password protect an item?
The Password Protection option is located in the Publish box when editing a Sell Media item. Click the Visibility - Public - Edit link, select Password Protected, type in a password and click Save.
How do I password protect a collection?
Click Sell Media -> Collections -> Click "Edit" next to the Collection you want to hide, fill in the "Password" click update.
How do I hide a collection from being listed on archive pages?
Click Sell Media -> Collections -> Add New and check the "Hide" option.
How do I increase the maximum upload size in WordPress?
Depending on the web hosting company you choose and the package you select, each of you will see maximum file upload limit on your Media Uploader page in WordPress. For some it is as low as 2MB which is clearly not enough for large images or videos. You can increase this by doing one of the following:
Theme Functions File - There are cases where we have seen that just by adding the following code in the theme function's file, you can increase the upload size:
@ini_set( 'upload_max_size', '64M' ); @ini_set( 'post_max_size', '64M'); @ini_set( 'max_execution_time', '300' );
Create or Edit an existing PHP.INI file - In most cases if you are on a shared host, you will not see a php.ini file in your directory. If you do not see one, then create a file called php.ini and upload it in the root folder. In that file add the following code:
upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300
htaccess Method - Some people have tried using the htaccess method where by modifying the .htaccess file in the root directory, you can increase the maximum upload size in WordPress. Open or create the .htaccess file in the root folder and add the following code:
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
Again, it is important that we emphasize that if you are on a shared hosting package, these techniques may not work. In that case, you would have to contact your web hosting provider to increase the limit for you.
Transactions are not posting. Why?
Please visit the Add Media -> Settings -> Payments page and double check all of your settings. Also, if you are using Paypal, you need to make sure you have added your IPN Listener URL to Paypal.
Also, PayPal computers use IP ranges 66.211._._ and 173.0._._ and visit the IPN URL with NO User-Agent. Some web hosting companies have their servers set up to block incoming pings when the User-Agent is not explicitly set (as is the case with Paypal's IPN). In this case, you'll want to modify your .htaccess file to override user-agent blocking with these address ranges.
What are license types?
The Sell Media plugin helps you to create and assign different licenses and prices for each image, video or audio file based on the anticipated usage of the media. For example: If a large company wants to purchase one of your images for a billboard, you should charge one price for commercial usage, charge another for editorial, and so on.
Does the plugin work for a WordPress Network
It only works on the primary blog. While it will work on other blogs, file uploads will not be protected. Why? Because WordPress stores uploads in a "virtual" directory of blogs.dir, server side file protection using .htaccess doesn't work on virtual directories.
My customer is receiving their confirmation email X many times?
Please disable your plugins and see if you still have the issue. Some plugins (ones that alter access via IP) do not allow the IPN to function properly.
- Tweak: Updating shortcode instructions in
- Bug: Fixing translation issues
- Bug: Fixing issue where search would still show even if it was disabled
- Feature: Sell Media items are now support post authors
- Bug: Fixing issue with settings and price groups on activation
- Bug: Various bug fixes with Price Groups
- Feature: Added new settings API
- Tweak: Add to cart button no longer changes to check out after adding 1 item
- Tweak: Added tweak from @NETLINK so PayPal IPN URL can be added as a param.
- Tweak: Added support for WPML
- Feature: Added various hooks and filters
- Feature: Using jQuery validation in place of HTML5 validation
- Tweak: Allowed for translation of "Pending" on the
- Tweak: Added link to purchased item from payments page
- Tweak: Added "Lost your password?" link to the check out page
- Tweak: Fixing issue where currency symbol on admin pages
- Tweak: Administrators can now buy products while logged in
- Tweak: Updated admin payments UI
- Tweak: Deriving a more reliable IPN URL for some users
- Bug: Fixing issue with 3.7 and
- Bug: Fixing issue when quantity was updated on the checkout page the subtotal was not correctly updated
- Bug: Fixing issue where session was not starting for some users
- Bug: Fixing issue where sizes from price group did not show in select box
- Bug: Fixing issue where download link would show when users purchased a reprint
- Feature: License descriptions are now emailed as an attachment when a purchase is made
- Feature: Added option to enable/disable admin columns
- Feature: Added clear cart button
- Feature: Added additional admin column "protected" for collection page
- Bug: Fixing issue were size was not dependent on license
- Bug: Fixing notice when there is no min price to be displayed
- Bug: Fixed conflict with WordPress heartbeat API
- Tweak: Download list shortcode now list newest to oldest purchases
- Tweak: Customers now have a "remove all" option on the checkout page
- Tweak: Keywords can now be used with default permalinks
- Tweak: Password protected collections are now more secure
- Tweak: Added admin notices
- Tweak: Password protected collections now use a custom template
- Bug: Updated PayPal arguments for buyer download email
- Bug: Fixing issue were cart was not emptied
- Bug: New users are sent an automated WordPress email when registering
- Feature: Added option to set a given price group as the site default
- Tweak: Password protected collections are filtered from the widgets page and no longer show on the front end
- Tweak: Added filter
- Bug: Customers are no longer redirected to the WordPress dashboard after login
- Bug: Addressed issue when some users did not receive the download link
- Bug: Addressed issue where cart was not emptied, due to session not being started and browser cache
- Feature: Added option to hide original price
- Feature: Added option to disable the built in Sell Media search and use native WordPress search
- Tweak: Readme no longer references hiding a collection, replaced with password instructions
- Tweak: Original height and width is display, for images only, on the single item page
- Tweak: Admin notice is only displayed on the child collection if the parent has a password
- Bug: Various updates to the cart
- Bug: Checkout page now checks if email already exists
- Bug: Price group parents now correctly updates the parent name when saved
- Bug: quotes can now be used in the license description
- Bug: Similar items widget now displays correct items even when collections slug are changed
- Bug: Widgets overflowing bug fix.
- Bug: Updating admin payments and needed screens to support previous versions of pricing
- Tweak: Various improvements for cart in PHP session
- Tweak: Minor text update
- Tweak: Price groups class can now be used for any parent/child taxonomy
- Tweak: Updating shortcode in readme.txt
- Tweak: Adding template check for other developers to change the collection password page
- Bug: Child collections now inherit the password of the parent collection
- Bug: No longer enqueue
nav-menu, it has been removed in WordPress 3.6
- Bug: Corrected text domain issue
- Feature: Admin shows collection icon on collection edit column
- Feature: Added detailed Paypal log per item on the single item payments page
- Bug: Better Paypal support
- Tweak: Improved search results
- Feature: Add shortcode for custom login '[sell_media_login_form]'
- Feature: Add setting for custom login page
- Bug: Updated admin payment apply markup consistently
- Bug: Updated paypal payments to no longer by 0 and have markup applied if added
- Feature: Added shortcode to display all collections 'sell_media_list_all_collections' ( available shortcode attributes: thumbs, details )
- Feature: Added price groups to the native WordPress bulk edit
- Feature: File downloads have the size and license appended to them, i.e., my-image-1024x768-commercial.jpg
- Feature: License descriptions now show on hover, next to the license on the dialog
- Feature: Added tooltips to license descriptions
- Feature: Download size is now displayed on the admin payments item page
- Tweak: Added new attributes to 'sell_media_all_items' ( attributes: collection, show )
- Tweak: Added a "Continue shopping" link on the checkout page
- Tweak: Adjusting currency format in settings
- Tweak: Payments should not be publicly queryable
- Tweak: Make checkout shortcode function name semantic
- Bug: Cart totals were inconsistent
- Bug: Featured image used on archive pages if present
- Bug: Non-image items can now have multiple licenses
- Bug: Quantity totals are immediately calculated
- Bug: Intermittent bug where items were added to the cart twice
- Bug: Validate Safari new user registrations on checkout page
- Bug: Downloads are now based on the constraints of the original image and the price group
- Bug: "Original File Price" was truncating trailing zero's from prices.
- Bug: Fixed issue when removing items from the cart incorrect totals were displayed
- Bug: Fixed issue in widgets
- Bug: Price groups was not respecting newly created sizes when downloading images
- Tweak: Added version number to enqueue script and styles
- New: Added price groups to admin item columns
- New: Added collection to admin item columns
- Tweak: Corrected instructions for
- Bug: Fixed notice on checkout page when no licese id was present for markups
- Bug: Price groups that did not have any images assigned were not showing in the price group drop down.
- New: Price groups, users are no longer limited to "small, medium, large", they can create infinite price groups and assign them to items.
- New: Added Paypal log.txt file to admin settings
- New: Added field for admins to add CC accounts for paypal purchases
- New: Added Option to change sort order on archive pages
- New: Added POT file
- New: Useful info is now stored in global js object "sell_media"
- Tweak: US State list is no longer required, this was causing issues for users outside of the US
- Tweak: Changed order of "bulk upload" buttons
- Tweak: "Default Price" is now changed to "Original Price"
- Tweak: Updated menu cart class names
- Bug: Duplicate licenses are no longer installed on re-activation
- Bug: Typo
- Fixing issue where a generic function needed to be prefixed
- Collections are now password protected
- Collections now have featured images/icons
- Fixing issue where shipping value was not properly formatted for PayPal
- Fixing issue where markup was not showing/displaying properly for items with one license
- Sub-collections now supported
- Minor bug fix for password-less collections
- Collections are now password protected
- New setting "dashboard page" allows admins to create a custom page for recurring customers
- Better child theme support
- Various bug fixes
- Editors can now use the bulk upload
- Optimized download history shortcode
- Various bug fixes
- Fixing issues in download history shortcode
- Correcting param in filter
- Image description is imported as item description during bulk upload process
- Adding language support
- Creator taxonomy is now publicly viewable
- Added various filters in bulk uploader for developers
- Widget updates
- Added hook
sell_media_bulk_uploader_additional_fields_metato allow developers to add additional meta fields in bulk upload
- Number formatting fix, 0.1 would show in some cases, now it includes trailing zero, i.e., 0.10
- Bug fix in add to cart button
- Bug fix in
- Bug fix when prices of 0.1 were being rounded to 0.00 on some pages
- Users can now change the post type slug
- Added shortcode
sell_media_additional_list_itemsso users can add additional information on the single item page under the size list.
sell_media_bulk_uploader_additional_fieldsAllows developers to add additional form fields for bulk upload/edit
- Fixing issue where original file is sometimes downloaded vs. the one purchased
- Various PHP notices fixes
- Improved support for importing EXIF/IPTC data such as; city, keywords, etc. during the creation of new items
- Allowed prices to be lower than 0.99
- Improved handling when an item has no size or license
- Improved handling for prices with non-images
- Better support for portrait images
- Fixed issue where download sizes would not always be displayed
- Additional error checking added for PayPal
- Translation issue fixed
- Email formatting and issues fixed
- Optimized bulk uploader! Images sizes are no created on download (after purchase) and not created during the upload process.
- You can now bulk add images to a Collection from the bulk uploader
- Various bug fixes
- Fixing bug where users received multiple or no download email
- Fixing bug where items with 0 price can be added to the cart
- Numerous hooks and filters addd
- Numerous bug fixes
- Performance improvements
- Added MS Docs support
- Updated readme.txt
- Bug: Price can now be saved in decimal
- Better styling support
- Settings: Default price moved to its own section
- Hook: Updated 'sell_media_after_successful_payment' now accepts an additional parameter
- Hook: Updated 'sell_media_settings_init_hook' to work on all tabs
- Hook: Moved 'sell_media_size_settings_hook' to the appropriate location
- Hook: Added new hook 'sell_media_below_registration_form'
- Hook: Added 'sell_media_additional_cusotmer_meta'
- Hook: Added sell_media_before_session_add
- Feature: Options in dialog now default to nothing
- Feature: Added current state select
- Removed validation scripts inplace of native browser validation
- Various bug fixes and styling enhancements
- Fixed issue where currency was not showing for some users
- Fixed issue where default search would result in 404 for some results
- Markup percentage is no longer shown on the front-end, only the adjust price is
- Fixed intermittent issue where download files would be 0kb
- Fixed issue where downloaded zip files would unzip as zip
- Fixed issue in settings regarding default price
- Minor bug fix in size variants
- Added full Featured Image support
- Bug fixes
- Instruction changes
- Fixing settings to work better with extensions
- Added bulk uploader
- Added size variants
- Code enhancements
- Bug fixes
- Bug fixes
- Code improvements
- Bug fixes
- Added option for customer notification
- 3.5 media cart fix
- License descriptions now show on the checkout page and option boxes when hovered
- Fixed bug when Attachments are no longer marked for sale.
- Fixed issue when Item is emptied from trash bin
- Fixed bug where editor appeared on other Add New pages.
- Adding hook for single theme.
- Fixed transients
- Fixed issue where button was not showing on cart
- Added Loading gif on purchase dialog
- Users can now manually upload a file to the sell_media folder then add the path to the file on the "Add Item" page.
- Better handling of template redirection
- Item description now has a Text Editor
- Added shortcode sell_media_all_items
- Added shortcode sell_media_download_list
- Zip file support
- Added bulk "Sell This" option
- Bug fixes
- Added Google Charts on Reports page
- Added Paypal IPN instructions on Settings
- Max-width fix for Firefox on Sell Media archives
- Post Type Taxonomy archives conflict fix
- Download file fix
- Plugin Settings save bugfix
- Added action hooks
- Default to Live Mode, not Test Mode
- License calculation on Edit License works
- Removed email testing code
- Additional support for image, video, document mime types
- Checkout page removing item bugfix
- Tabs for Settings
- Use submit_button()
- Public release
- Permalinks flushed on plugin activation
- First public beta