Plugin Directory

Music Store

Music Store is an online store for selling audio files: music, speeches, narratives, everything audio. In Music Store, secure payments with PayPal.

Q: Why the sales button don't show?

A: First, go to the settings page of music store and be sure the PayPal checkbox is checked, and has defined the seller's email. Second, in case of collections, be sure the collection has a price defined and songs associated. Third, in case of songs, be sure the song has a price defined and a audio file associated.

Q: Why the songs don't displays on music store?

A: If you want to sale a song as a single, it is required to check the "Sell as a single" checkbox in the song data form.

Q: Why the audio file is played partially?

A: If you decide to protect the audio file, the audio file is played partially in demo to avoid its copy by users and software unauthorized.

Q: Why the music player is not loading on page?

A: Verify that the theme used in your website, includes the function wp_footer(); in the template file "footer.php" or the template file "index.php"

Q: What can I do if the music-store directory exists and the premium version of plugin cannot be installed?

A: Go to the plugins section in WordPress, deactivate the free version of Music Store, and delete it ( Don't worry, this process don't modify the songs created with the free version of plugin), and finally install and activate the premium version of plugin.

Q: Does allow the music store a different payment gateway than PayPal?

A: I'm sorry, but the current version of plugin allows PayPal only.

Q: Can the customers pay directly with its credit cards?

A: The restriction is imposed by PayPal. Please, check that your PayPal account allow to charge directly from the credit cards of customers.

Q: Is possible the selling of songs in exclusive?

A: Yes, from the "Music Store pro" v5.0.16 it is possible to define exclusive prices. The songs that are purchased in exclusive, are removed from the store's page, and are moved in the administration section to a new list of products, the list of products that were sold in exclusive.

Tip: If was defined a discount for a song, it is not applied to the exclusive sales.

Q: How to display different numbers design in the sales counter?

A: To use your own numbers design, you must create a new directory with the name of new style in "/wp-content/plugins/music-store/ms-core/images/counter", and upload to the new folder, an image in gif format, for each digit from 0 to 9.

Q: Is possible modify the appearance of music store?

A: The design of each section of Music Store, is determined from templates located in "/wp-content/plugins/music-store/ms-templates".

The "ms-templates" directory contains multiple files, some of them for songs, and others for collections.

The template files:

  • song.tpl.html and collection.tpl.html are used in the Music Store's page.
  • song_single.tpl.html and collection_single.tpl.html are used in particular pages of songs and collections.
  • song_multiple.tpl.html and collection_multipl.tpl.html are used in pages of multiple entries like: archives and search result page.

Q: Is possible promote a product, or products list?

A: It is possible promote a product or products list, from the website's sidebars, or directly from the content of pages or posts.

To promote the products on sidebars, go to the widgets section, and inserts the corresponding widget on sidebar.

To promote the products from the content of pages and posts, go to the page and press the corresponding icon over the contents editor.

Q: Are safe the products' downloads?

A: The security in the access to songs files is determined in different ways.

  • The song files can't be accessed directly. The purchased files are stored in a special directory called ms-downloads, the ms-downloads directory includes a .htaccess file that forbid the access from browser. The file can be accessed only through a server side script that validates the purchase.

  • The Music Store determines the validity of download links based in two options, available in the settings page of plugin. -- It is possible define a time period, in days, where a download link is considered valid. If a user tries to download a purchased product, the Music Store checks the date of purchasing.

-- It is possible define a limit of downloads by purchase. If a user tries to download a product, the Music Store checks how many downloads have been made.

-- The Music Store may be configured to request the email address used in the purchasing to check the validity of download link.

Q: How forcing to the browser to download the songs distributed for free?

A: If a song is distributed for free, the music store redirects to the user directly to the audio file, and the browser will play the audio file, or download it, depending of headers sent by the server, and if the audio file is supported by the browser or not. Sometimes the browser plays the audio file, instead of download it.

If you want forcing the file download, you should modify the headers sent by the server. To force it, creates a .htaccess file, in "/wp-content/uploads" directory, with the following content:

    <FilesMatch "\.(?i:mp3|ogv|oga|ogg|wav)$>       
    AddType application/octet-stream mp3 ogv oga ogg wav        
    Header set Content-Disposition attachment       

Q: How to prevent the access to the audio files in the "uploads" directory, from browsers?

A: The Music Store uploads the audio files to the subdirectories of the "/wp-content/uploads" directory. To protect the audio files in the "uploads" directory, should be uploaded a .htaccess file to the "/wp-content/uploads" directory, whose content would be:

    <FilesMatch "\.(mp3|wav|oga|ogg)$">     
    Deny from All   

Q: Can I customize the store's design?

A: The plugin includes predefined designs that can be selected through the option: "Store Layout" in the store's settings. But if the predefined layouts are not sufficient to your project, it is possible create a new one. Duplicates an existent layout, and edits its style.css file.

Q: Can be hidden the popularity of the products from the store pages?

A: To hide the popularity from the store's page, follows the steps below:

  1. Open the "/wp-content/plugins/music-store/ms-styles/ms-public.css" file, with the text editor your choice.

  2. Paste the following style's definition at the end of file's content:

.song-popularity,.collection-popularity{display:none !important;}

  1. Finally, clear the browser's cache after edit the online file.

Q: Can be modified the size of audio files played in safe mode?

A: The files for demo can be generated dynamically by the plugin (in the pro version of the plugin), to prevent the access for free to the original files.

It is possible to define the percentage of the audio file to be used on demos, from the settings page of the store. The plugin will create a copy of the audio file, a truncated version of the original file, to use as demo.

To protect the resources of web server, the music store does not generates the audio files for demo every time a song is played, the music store uses the files created previously, stored in the "ms-temp" directory. So, after modify the percentage of audio file for demo, you should delete the files located into the "/wp-content/plugins/music-store/ms-temp" directory.

Note: If you are using the Pro version of the plugin, greater than or equal to 5.0.2, it is not required delete the files in the "ms-temp" directory, the files are deleted dynamically by the plugin, when the percentage of the audio file for demo is modified.

Q: How to display the tracks list in the collections pages with a predetermined order?

A: The tracks are associated to the collections through the "Songs of collections" list. Each time a song is selected, the plugin generates a button over the songs list. The order followed in the songs selection, would be the same order in the tracks list on the public webpage.

Q: Can be sold only collections, and not individual songs?

A: For selling collections only, and not individual songs, you only should untick the checkbox: "Sell as a single", from each song.

If you want selling only collections, the "filtering by type" option won't be needed in the store's page. To hide this filtering option, go to the store's settings, and untick the checkbox: "Allow to filter by type"

Q: Is possible to include different versions of a same song?

A: The Music Store allows only one audio file per song. If you want selling different versions of a same song, for example: full song, ring tone, etc. each of them with their own price, should be used collections.

First, creates all songs by separated, with its corresponding audio files, and prices.

Second, for each title, creates a collection, and selects all related songs, created in the first point, and assigns a price to the collection.

Third, uses the attribute: load="collections", in the store's shortcode.

Fourth, and finally, the "filtering by type" won't be needed in the store's page, go to the store's settings and untick the option "Allow to filter by type"

Q: Can be modified the store's settings in a specific page?

A: The store is inserted in a page through the shortcode [music_store].

The [music_store] shortcode accepts a list of attributes to configure a specific store.

load: With the "load" attribute can be selected the elements to be loaded by default in the store ("singles", for loading only songs, and "collections" to load only the songs collections). If you want sell in the store singles and collections, you don't need to include the "load" attribute.

    [music_store load="collections"]        
    [music_store load="singles"]        

columns: Enter the number of columns to display the products in the store with a grid format. By default the value of "columns" attribute is 1.

    [music_store columns="3"]       

genre: To display in the store only the songs and collections that belong to a specific genre, should be defined the "genre" attribute with the genre's slug, or the genre's ID.

    [music_store genre="pop"]     
    [music_store genre="2"]     

Note: To determine the genre's ID, go to the menu option "Music Store > Set Genres", press the "edit" link of genre, and pay attention to the URL in the browser, the genre ID is passed as the parameter "tag_ID"

artist: To display only the products of a specific artist, defines the "artist" attribute with the artist's slug, or the artist's ID.

    [music_store artist="artist-name"]        
    [music_store artist="3"]        

Note: To determine the artist's ID, go to the menu option "Music Store > Set Artists", press the "edit" link of artist, and pay attention to the URL in the browser, the artist's ID is passed as the parameter "tag_ID"

album: To display only the products in a specific album, defines the "album" attribute with the album's slug, or the album's ID.

    [music_store album="let-it-be"]        
    [music_store album="12"]        

Note: To determine the album's ID, go to the menu option "Music Store > Set Albums", press the "edit" link of album, and pay attention to the URL in the browser, the album's ID is passed as the parameter "tag_ID"

You can use to a combination of parameters in the same shortcode:

    [music_store columns="3" load="collections"]        

From the shortcode it is possible to hide the elements in the header section of the music store's page: the filtering options, or the "order by":

filter_by_type: The values allowed are 1 or 0, and shows or hide the filtering by product's type.

    [music_store columns="3" filter_by_type="1"]        

filter_by_genre: The values allowed are 1 or 0, and shows or hide the filtering by genre.

    [music_store columns="3" filter_by_genre="1"]        

filter_by_album: The values allowed are 1 or 0, and shows or hide the filtering by album.

    [music_store columns="3" filter_by_album="1"]        

filter_by_artist: The values allowed are 1 or 0, and shows or hide the filtering by artist.

    [music_store columns="3" filter_by_artist="1"]        

show_order_by: The values allowed are 1 or 0, and shows or hide the "Order by" options.

    [music_store columns="3" show_order_by="1"]     

order_by: The values allowed are: plays, price, post_title, post_date. Allows ordering the products in the store's page by the criteria defined in the attribute.

    [music_store columns="3" order_by="post_title"]        

Q: I've inserted a shortcode to insert a particular song in a page; but it is loading with the same layout that the songs in the store. Can be loaded the song or collection with all its attributes? With the layout used in the particular page of the product.

A: The shortcode to insert a product has the structure: [music_store_product id="10"]. The "id" attribute represents the product's id. The products' ids are displayed as the first column in the songs or collection lists.

The product's shortcode accepts another attribute, to decide the layout to use: the "single" layout, with all the product's attributes, or the "store" layout, with the attributes used in the store's page.

    [music_store_product id="10" layout="single"]       
    [music_store_product id="10" layout="store"]        

Q: Is there any restriction on the size of the audio files to upload to the server?

A: The limit in the files sizes to be upload to the server is not imposed by the plugin. The Music Store delegates the upload process to the Media Library of WordPress. The limits are imposed by directives in the PHP.ini file, directly by your hosting provider.

If you need additional information about the PHP directives involved in this process, visit the following link: http://php.net/manual/en/ini.core.php#ini.post-max-size

Q: Is there any restriction in the download the purchased files in a zipped file?

A: The zipped files are created in memory, so the PHP script in your web server, should manage the amount of memory sufficient to create the zipped file with all purchased audio files. To take an idea about the amount of memory required, uses as reference the peak in the sum of size of audio files in the bigger purchase, before enabling the zip option.

Q: A customer that has purchased a product from the store, has not downloaded the song in the time interval defined in the store's settings. What can I do in this case?

A: In this case you only should go to the sales reports of the store, through the menu option: "Music Store/Sales Report", and select the time interval where the purchase was made. In the product list will be displayed all sales on the interval selected. Finally, you should press the "Reset Time and Downloads" button corresponding to the customer's purchase.

Now, your user can download the product by a new time interval.

Q: How to know the products purchased by a customer?

A: Go to the sales reports, and enter the customer's email in the input box named "buyer", select a time interval, and finally press the "Search" button.

If you are not sure about the customer email, you can use a partial email address ( is not necessary to know the exact email address). About the time interval, if you are not sure about the dates of purchase, select as the "From" attribute, a far enough date.

Q: Can be customized the download page?

A: The content of the download page is generated at runtime. By default the page's content is in blank, and the download links are added at the end of page when it is visited by the users. This page, can be edited like any other page in WordPress. You simply should open the page for editing, and modify its content.

I suggest to enter as the last information, a text to indicate that the links below are the download links to the purchased files.

Q: Why the customers are not receiving the download links after purchase the songs?

A: Please, be sure the IPN (Instant Payment Notification) is enabled in your PayPal account. If the IPN is not enabled in your PayPal account, the website is not notified about the payments, and the download link is not generated, and the notification email with the download link is not sent to the customers.

PayPal will ask you for the URL of the IPN in the activation process, use the URL to your website's homepage, because the "Music Store" will send to PayPal the correct URL.

Q: The IPN is enabled in my PayPal account, but the customers are not receiving the emails with the download links.

A: If the IPN is enabled in your PayPal account, and the purchases have been registered in the sales report, but your customers are not receiving the emails with the download links, there are two probable reasons:

  1. The email should be sent through SMTP. In this case you should install in your WordPress one of the available plugins for SMTP integration, in the WordPress directory.

  2. The web server allows send emails directly. In this case, enter an email address belonging to the website's domain through the attribute: "Notification from email" attribute, on the store's settings. In other case the email can be classified as spam by the customers inboxes.

Q: Can the customers return automatically to the download page after purchase a song?

A: This option is related directly with the PayPal settings, and not with the Music Store. Please, follows the instructions below:

Note: The description applies for the new interface of PayPal.

From the homepage of your PayPal account, press the "Seller preferences" option. In the seller's profile there is an option titled "Website preferences", with the text "Bring customers back to my website after they pay with PayPal.", please, press the "change" link associated with this option, and set the auto return to "ON". PayPal requires you enter the URL to the return page, use in this case the URL to your website's homepage, because the Music Store sends the correct URL in the sale process.

PayPal notifies the payments to the website asynchronously, so can occur that the user returns to the download page, before the payment notification, so, the sale has not been registered yet. In this case the download page displays a timer, and checks again the validity of purchase.

Q: The download page is displaying a 404 Error, page not found

A: By default the Music Store generates the page called "Download Page", with its content in blank. The content of the "Download Page" is generated dynamically with the download links to purchased products, but sometimes, the websites' administrators delete these pages because they think that are not important. If it is the case you only should restore the download page, from the trash list, to the list of published pages. If you have emptied the trash list, you only should create a new page with the slug: ms-download-page

Q: How to insert the shopping cart icon in all the website's pages?

A: There are two ways to insert the shopping cart icon in all pages of website:

  1. Inserting the widget of shopping cart on sidebars.
  2. Insert the shortcode of the shopping cart in the website's pages, or directly in a template file of the theme used by all pages of website: [music_store_shopping_cart]

Tip: To prevent the shopping cart be displayed by duplicated in the pages of the store and products, go to the store's settings, and tick the option: "Hide the shopping cart icon from the store and products pages?"

Q: The shopping cart page is displaying a 404 Error, page not found

A: By default the Music Store generates the page called "Shopping Cart", with its content in blank. The content of the "Shopping Cart" page is generated dynamically, and displays a table with the products selected, a button to continue shopping, a button to complete the payment, and the input box for entering the coupon code. The websites' administrators sometimes decide delete this page. If it is the case, you only should restore the shopping cart page, from the trash list, to the list of published pages. If you have emptied the trash list, you only should create a new page with the slug: ms-shopping-cart

Q: Can sell the music store tangible products?

A: For selling tangible products, like CDs, DVDs, etc. are required some additional modules: the module to calculate the shipping cost, a tracking system, and a register of the products existence. With the Music Store, none of these modules are included, because are not needed for selling digital files, these are the reason why is recommended to use the music store only for selling digital files.

Q: Can be created multiple products at time, or should be created one by one?

A: The pro version of the Music Store includes a new section (the importer section) that allows create multiple products at the same time. The better results are obtained if the audio files have defined the ID3 tags with the correct information.

To proceed importing multiple songs, follow the steps below:

  1. Go to the menu option: "Music Store/Songs Importer"

  2. Press the "Upload/Select files" button to display the "Media Library". From the media library it is possible select the files existent in the library, or activate the "Upload Files" tab, and upload new files to the library.

  3. Enter a base price that will be applied to all imported songs.

  4. Check any of the attributes: artist, albums names, genres, or year, if you want extract the artist name, the album name, the genre, or the year, from the ID3 tags of the MP3 files, and assign these data to the imported products.

  5. Finally, press the "Import" button.

The importer will create a new product for each audio file, with the information included in the ID3 tags.

Q: How to configure the IPN on PayPal Sandbox ?

A: https://www.paypal.com/cgi-bin/webscr?cmd=p/sell/ipn-test-outside

Q: Is possible to search by artists, albums or genres from the search box of my website?

A: Yes, that's possible. The artists, genres and albums are taxonomies associated to the songs, and for searching by the songs' taxonomies, go to the settings page of the store, and tick the checkbox: "Allow searching by taxonomies", and that's all.

Requires: 3.5.0 or higher
Compatible up to: 4.3.1
Last Updated: 2 days ago
Active Installs: 2,000+


3.3 out of 5 stars


2 of 2 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

0,1,0 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1