Skip to content
WordPress plugin: export custom post types, taxonomies & fields to CSV or XLS. Supports WooCommerce, Types & ACF.
Branch: master
Clone or download
Pull request Compare This branch is 38 commits ahead of mediebruket:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Simple CSV/XLS Exporter

Contributors: Shambix, Dukessa, thaikolja, akforsyt Author URL: Tags: csv, xls, export, excel, custom fields, custom post types, export products, export posts Requires at least: 4 Tested up to: 5.2.2 Stable tag: trunk License: GPLv2 or later License URI:

Export any content to CSV or XLS, through a link/button, from backend / frontend. Supports custom post types, WooCommerce, custom taxonomies, post statuses, users & fields.


This plugin allows you to export your posts to CSV or XLS file, through a simple link/button, from either backend or frontend.


  • any custom post type
  • custom post status
  • custom taxonomies
  • custom fields
  • WooCommerce products, orders, status, categories and fields
  • export only current user posts
  • export specific user ID posts
  • export specific post IDs

You can set the default post type, with its taxonomies and custom fields, that you wish to export, from the Settings page.

After that, anytime you will use the urls for a CSV file, or, you will get that post type data.

"You must choose the post type and save the settings before you can see the taxonomies or custom fields for a custom post type. Once the page reloads, you will see the connected taxonomies and custom fields for the post type."

If you want to export from a different post type than the one saved in these settings, also from frontend, use the url for a CSV file, or to get a XLS.

** Please check the Plugin's FAQ for all possible options and available custom parameters you can use. **

When opening the exported xls, Excel will prompt the user with a warning, but the file is perfectly fine and can then be opened. Unfortunately this can't be avoided, read more here.


Check the FAQ before opening new threads in the forum!

Contact me if you want a custom version of the plugin, for a fee (contact form at



  1. Upload to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Go to Tools -> CSV/XLS Export to access the plugins settings and export files.

Frequently Asked Questions

How do I choose my post type, taxonomies and custom fields?

Head over to the plugin's settings page, choose the post type. Then click "Save Changes" at the end of the page.

At this point, a list of the custom taxonomies and fields associated with that post type will appear.

Choose all of the fields you wish to export (use CTRL+click to select multiple ones) and click "Save Changes" again.

Then click on the "Export" buttons to get your CSV or XLS file.

I don't see any custom fields on the Settings page. How come?

You mush first choose your post type and click "Save Changes" before you can see a list of the associated custom fields.

Be sure to click "Save Changes" again in order to save your choices.

Can I export to CSV from frontend?

Yes, just place this URL where you want the download link/button to be: <a class="btn" href="?export=csv">Export to CSV</a>

This will export as per plugin Settings.

Can I export to XLS from frontend?

Yes, just place this URL where you want the download link/button to be: <a class="btn" href="?export=xls">Export to XLS</a>

This will export as per plugin Settings.

Can I change the post type, from the frontend URL?

Yes, use the URL var ?post_type=yourcustomposttypeslug

Keep in mind however, that it will still look for the taxonomies and custom fields as per plugin Settings.


Can I only export parents or children?

Yes, use the URL var ?only=x, where x is either children or parents.

Default is both.


Does it support cyrillic characters? (eg. Russian)

Yes, but only for the CSV format (for now).

Can I export only posts with a certain post status?

Yes, as of v. 1.3.8.

You can set it up from the Settings page as default, or add to your url ?post_status=nameofstatus


Can I export only posts from a specific user, or the current one?

Yes, as of v. 1.4.

To export the file with content from the currently logged-in user, add this to your url ?user

To export the file of a specific user ID, use this in your url ?user=x, where X is the user ID you need.

Default is all users.


Can I export specific posts?

Yes, as of v. 1.5.

You need the parameter ?specific_posts in the export url.



  1. Settings Page
  2. Settings Page
  3. Settings Page



  • Merged with thaikolja's fork and refactoring
  • Added specific_posts parameter (Special thanks to: akforsyt)


  • Plugin Refactoring (Special thanks to: thaikolja)
  • Replaced spaces with tabs for intendation.
  • Renamed classes (SIMPLE_CSV_EXPORTER to Simple_CSV_Exporter) to avoid confusion with constants.
  • Added documentation to some functions and classes.
  • Used strict comparison (===) where needed.
  • Removed some comment areas used for development purposes.
  • Added and rewrote some comments.
  • Added textdomain and made several strings localizable.
  • Restructured files, functions and classes and put them in appropriate directories.
  • Renamed some constants to be more accurate.
  • Added filters:
    • simple_csv_xls_exporter_export_file_name


  • Added option to set custom Delimiter
  • Fixed issue with html entities


  • Fixed PHP 7.1 Fatal error 7.1 bug (Uncaught ArgumentCountError: Too few arguments to function do_settings_fields() )


  • Minor fixes


  • Set error_display to 0 during process


  • Fixed bug Parse error: syntax error, unexpected [in …./woo/wp-content/plugins/simple-csv-xls-exporter/process/simple_csv_xls_exporter_csv_xls.php] on line 19


  • Added support for ANY post type (including internal/non-public ones)
  • Added labels for post types instead of slug
  • Added support for WooCommerce Orders
  • Removed PHP format error above WP default fields settings box


  • Added support for current user download
  • Added support for specific user ID download

  • Fixed a minor PHP notice


  • Fixed bugs: Illegal string offset ‘selectinput’ in simple-csv-xls-exporter\settings.php on line 147, in_array() expects parameter 2 to be array, string given in simple-csv-xls-exporter\settings.php on line 147, syntax error, unexpected ‘[‘ in simple-csv-xls-exporter/settings.php on line 157


  • Added support for Post Status
  • Added option for Backend only export
  • Minor Fixes


  • Added support for WooCommerce
  • Fixed some bugs when not finding any selected custom fields/taxonomies
  • Fixed XLS not exporting correctly since 1.3.2
  • Support for German characters for XLS and CSV


  • Added url var to only export parents or children
  • Added cyrillic characters support for CSV
  • Restructured part of the plugin
  • Saved options get removed when uninstalling plugin


  • Fixed issue with new custom fields not showing
  • Better caching of metas (24h)


  • Added xls support
  • Fixed bug with plugin not finding taxonomies during export because launched too early (init->wp_loaded)


  • Fixed issue with SYLK format (ID in capital letters gives Excel error for CSV)
  • Added url parameter &post_type, to use in stand-alone url


  • Introduce taxonomy and default WordPress field export capabailities


  • Fixed bug that limited number of posts that could be exported


  • Initial release of plugin
You can’t perform that action at this time.