Import data from a spreadsheet (.csv file format) and display it in a sortable HTML table.
CSV to SortTable is great for anyone who wants to display information from a spreadsheet on a WordPress website. This plugin can be used to display product catalogs, inventory lists, leaderboards or anything else that can be stored in a CSV file.
Insert a sortable table into any page or post using this shortcode:
[csv src=http://example.com/myfile.csv]
The result will be a beautiful, semantically-correct HTML table populated with the contents of your file.
This plugin automatically does a few things for you, all of which can be disabled:
To disable any of these features, use the disable
shortcode attribute:
[csv src=http://example.com/myfile.csv disable=css] [csv src=http://example.com/myfile.csv disable=icons,images] [csv src=http://example.com/myfile.csv disable=all]
The first example would disable only the plugin CSS; the second would disable both the file-type icons and image links; and the third would disable all optional features. Disable any combination using a comma-separated list (no spaces!).
Want to give your table a unique ID? Use the id
shortcode attribute:
[csv src=http://example.com/myfile.csv id=my_data_table]
The above example would give the <table>
element an id
attribute of my_data_table
.
Let’s say you have a table with three columns: Item, Description and Type. You want all table rows of the same Type to have the same class, so you can highlight them in different colors using CSS or modify them all at once with JavaScript.
This can be done by assigning a column number to the group
shortcode attribute:
[csv src=http://example.com/myfile.csv group=3]
The result would be a special class assigned to each table row based on the value of the third column.
By default, table data is sorted alphabetically. If you want to sort columns numerically or as dates, or disable sorting on certain columns, use the following shortcode attributes:
[csv src=http://example.com/myfile.csv number=2] [csv src=http://example.com/myfile.csv date=3] [csv src=http://example.com/myfile.csv unsortable=4,5,6]
The values can be a single column number, or multiple column numbers in a comma-separated list (no spaces!).
If the src
value is a relative path (beginning with a forward slash), the plugin will refer to the “Site address (URL)” defined in WP-Admin > Settings > General
:
[csv src=/mydata/data.csv]
The above example would refer to http://example.com/mydata/data.csv
.
You may want to manipulate the CSV data after it is imported, but before the HTML table is rendered. To do so, use this filter:
csv_to_sorttable_data_array
Here are some code examples of how to use the data array filter:
This plugin utilizes some excellent open source scripts, functions and images whose creators deserve to be recognized.
str_getcsv()
function that powers this plugin.WP-Admin > Plugins
.[csv src=http://example.com/data.csv]
.id
shortcode attribute.CSV_to_SortTable::string_to_html_class()
that dropped uppercase letters from class names.csv_to_sorttable_data_array
to table data array in CSV_to_SortTable::parse_csv()
.source
and src
attributes not working.[csv2table]
.wp_remote_fopen()
.str_getcsv()
(including support for PHP < 5.3).make_clickable()
.even
and odd
classes introduced in v2.0; use CSS selectors :nth-child(even)
and :nth-child(odd)
.[csv src=""]
and retained legacy support for [csv2table source=""]
.icons
shortcode parameter to replace url links for certain file types (e.g. PDF, MP3, MOV) with file-type iconsmailto:
and http://
links, respectively.group
option, which assigns a unique common class to all adjacent rows containing the same data in the specified column.even
and odd
classes to row groups.