Easy Table

Description

Easy Table is a WordPress plugin that allow you to insert table in easy way. Why it’s easy? Because you don’t need to write any complicated HTML syntax. Note that this plugin is not a graphical user interface table generator, so you can simply type your table data directly in your post while you writing. No need to switch to another window nor click any toolbar button.

Easy Table using standard CSV format to generate table data, it’s easiest way to build a table.

Some Features

  • Easy to use, no advanced skill required
  • Display table in post, page or even in widget
  • Read data from CSV file and display the data in table
  • Sortable table column (using tablesorter jQuery plugin)
  • Fancy table design (using Twitter CSS bootstrap)
  • WYSIWYG safe, I mean you can switch HTML/View tab in WordPress editor without breaking the table data.

Known bugs and limitation

  • Enclosure will not work on first cell of a row
  • Chinese characters (and others?) usually stripped down on first cell of a row
  • Unable to create nested table

Example usage

  • Basic table
    [table]
    Year,Make,Model,Length
    1997,Ford,E350,2.34
    2000,Mercury,Cougar,2.38
    [/table]

  • Table with additional parameter
    [table tablesorter=”1″ id=”someid”]
    Year,Make,Model,Length
    1997,Ford,E350,2.34
    2000,Mercury,Cougar,2.38
    [/table]

  • Table with specific width
    [table width=”500px”]
    Year,Make,Model,Length
    1997,Ford,E350,2.34
    2000,Mercury,Cougar,2.38
    [/table]

Valid width value : auto, any number followed by % or px.
If width not set, it will use default width value ( can be changed via Plugin option )

  • Table with colspan and other attribute in some cells
    [table]
    no[attr style=”width:20px”],head1,head2,head3
    1,row1col1,row1col2,row1col3[attr class=”someclass”]
    2,row2col1,row2col2,row2col3
    3,row3col1[attr colspan=”2″],row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Table with initial sort order using table parameter, sort by first column descending
    [table sort=”desc”]
    no,head1,head2,head3
    1,row1col1,row1col2,row1col3
    2,row2col1,row2col2,row2col3
    3,row3col1,row3col2,row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Table with initial sort order using table parameter, sort by first column descending, and second column ascending
    [table sort=”desc,asc”]
    no,head1,head2,head3
    1,row1col1,row1col2,row1col3
    2,row2col1,row2col2,row2col3
    3,row3col1,row3col2,row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Table with initial sort order using cell attr, sort by second column descending
    [table]
    no,head1[attr sort=”desc”],head2,head3
    1,row1col1,row1col2,row1col3
    2,row2col1,row2col2,row2col3
    3,row3col1,row3col2,row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Disable sort for third column using cell attr
    [table]
    no,head1,head2[attr sort=”false”],head3
    1,row1col1,row1col2,row1col3
    2,row2col1,row2col2,row2col3
    3,row3col1,row3col2,row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Disable sort for third column using table parameter
    [table sort=”,,false”]
    no,head1,head2,head3
    1,row1col1,row1col2,row1col3
    2,row2col1,row2col2,row2col3
    3,row3col1,row3col2,row3col3
    4,row4col1,row4col2,row4col3
    [/table]

  • Table with auto index, start from number 1 (since 0.9)
    [table ai=”1″]
    head1,head2,head3
    row1col1,row1col2,row1col3
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with auto index, start from number 2 (since 0.9)
    [table ai=”2″]
    head1,head2,head3
    row1col1,row1col2,row1col3
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with auto index, start from number 1, and titled No. (since 0.9)
    [table ai=”1/No.”]
    head1,head2,head3
    row1col1,row1col2,row1col3
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with auto index, start from number 1, titled No., and column width 50px (since 0.9)
    [table ai=”1/No./50″]
    head1,head2,head3
    row1col1,row1col2,row1col3
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with new line in a cell (since 0.9)
    any nl value would be replaced with new line while rendered.
    nl could be one character or more. Be wise to use character here, make sure it’s not very common character that may used in your data.

    [table nl=”~~”]
    head1,head2,head3
    row1col1,row1col2,this~~should~~be~~in~~one cell
    row2col1,row2col2,this~~
    also~~
    should~~
    be~~
    in~~
    one~~
    cell
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with custom row terminator (since 1.0)
    Now you can use another character as new row, not only linebreak (\n or \n), eg. you want to use | as row terminator.

    [table terminator=”|”]
    head1,head2,head3|
    row1col1,row1col2,this
    should
    be
    in
    one cell|
    row2col1,row2col2,this
    also
    should
    be
    in
    one
    cell|
    row3col1,row3col2,row3col3|
    row4col1,row4col2,row4col3|
    [/table]

  • Table with comma in cell using enclosure
    [table]
    head1,head2,head3
    row1col1,row1col2,”this, should, in, one cell, because, enclosured, with, doublequote”
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with comma in cell using escape (since 1.3)
    [table]
    head1,head2,head3
    row1col1,row1col2,this\, should\, in\, one cell\, because\, commas \,escaped \,with \,backslash
    row2col1,row2col2,row2col3
    row3col1,row3col2,row3col3
    row4col1,row4col2,row4col3
    [/table]

  • Table with no heading
    [table th=”0″]some data here[/table]

  • Table with no heading
    [table th=”0″]some data here[/table]

  • Table with footer/tfoot, by default tfoot automatically picked up from second row.
    [table tf=”1″]some data here[/table]

  • Table with picked up from last row.
    [table tf=”last”]some data here[/table]

  • Table from CSV file
    [table file=”example.com/blog/wp-content/uploads/pricelist.csv”][/table]

Look confusing? Please click here.
Or check out our video tutorial here http://www.youtube.com/watch?v=Th0_qSleyDI

Other notes

  • If read from file, the file URL must not contain space.

Screenshots

  • Various table in a post
  • Easy Table options page
  • It's easy to display your uploaded CSV file as HTML table.
  • Easy Table in text widget

Installation

There are many ways to install this plugin, e.g:

  1. Upload compressed (zip) plugin using WordPress plugin uploader.
  2. Directly install from WordPress.org directory
  3. Upload manually uncompressed plugin file using FTP.

Reviews

NOT easy

It’s a joke that this plugin is labeled ‘easy’. It’s not. Especially because the creator has no instructions on how to even start on the plugin. I hated using this plugin so much, that I set up my account so I could login to review this plugin. I wanted something simple to allow me to paste in a table. It may do that, possibly easily, but I have no idea from the interface. Totally worthless. Uninstalling now.

could not use it

I use child of twenty sixteen theme. Installed the table plugin but did not know how to implement in posts/ pages. Deleted the plugin.

Read all 86 reviews

Contributors & Developers

“Easy Table” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Easy Table” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.8

  • Remove unused and unsafe code that made this plugin taken down from repository.

1.7

  • Add filter to the option values to prevent security issues (Vulnerability reported by Manuel Garcia Cardenas)

1.6

  • Added: exclude_row, exclude_col argument. Useful to hide sort of rows or columns from your data.
  • Added: sslverify=false to wp_remote_get $args
  • Fixed: boolean param value.

1.5.2

  • Fixed: security problems
  • Removed: Disqus comment on support tab

1.5.2

  • Fixed: Bug on 1.5/1.5.1, Easy Table does not work in WordPress prior to version 3.6

1.5.1

  • Fixed: Bug on 1.5, Easy Table does not work if TablePress is active even when custom shortcode is set.

1.5

  • Add table-responsive div wrap around table and responsive CSS.
  • Suppress error message: ‘Redefining already defined constructor…’ on certain PHP version environment.
  • Check against shortcode that may has been registered by another plugin.
  • Increase fgetcsv limit from 2000 to 2000000 if $limit value not set.

1.4

  • Updated: TableSorter JavaScript library now updated to 2.10.8 from 2.0.5b ( hope it will solve many sorting problems )

1.3.1

  • Fixed: Bug on version 1.3, fatal error on PHP prior to 5.3.0

1.3

  • Fixed: escape is now working, you can use escape to skip delimiters (also terminators if they’re not \r or \n) using escape (default escape character is backslash)

1.2

  • Added: align parameter is now back. (Previously removed on version 1.1)

1.1.4

  • Added new parameter ‘fixlinebreak’ to optionally convert newline to <br /> if terminator is not \r or \n

1.1.3

  • Added: now you can use ‘auto’ for table width
  • Table width now use inline style ( internally, not affected to the plugin usage )

1.1.2

  • Fixed bug limit param doesn’t work on version 1.1.1

1.1.1

  • Fixed bug custom terminator doesn’t work on version 1.1
  • Removed align field on Option page

1.1

  • Removed: .htaccess from plugin directory (Fixed unloaded script on some servers)
  • Use dedicated str_getcsv for Easy Table (Fixed incompatibility issue with AIOSP version 2.0)
  • Removed: align attribute on table (Fixed text wrap issue)
  • Added: new theme “minimal”

1.0

  • Encoding fix
  • Added colalign param
  • Added colwidth param
  • Added style param
  • Added limit param
  • Added trim param
  • Added terminator param
  • Added nl2br if terminator is not \n nor \r
  • Added is_search conditional option to load CSS/JS
  • Improved admin UI, field description is now using tTooltip

0.9

  • Fixed: Allow empty cell (was stripped on PHP prior to 5.3)
  • Fixed: wp_remote_get() error if file URL was not found.
  • Fixed: wrong application of wp_enqueue_script()
  • Added: Allow script to be loaded in footer
  • Removed: Redundant line on wp_enqueue_style
  • Added: CSS for tfoot on cuscosky theme
  • Added: New table parameter “nl”, new line. eg. [table nl=”~~”] See example here https://wordpress.org/extend/plugins/easy-table/
  • Added: New table parameter “ai”, auto index. add auto numbering in the begining of each row. See example here https://wordpress.org/extend/plugins/easy-table/

0.8

  • Fixed: Csvfile option
  • Fixed: Broken caption in Responsive theme
  • Removed: Clearfix class from the table
  • Changed: Now use wp_remote_get() instead of file_get_contents();
  • Changed: Method name from get_easy_table_option() to option(), not affected to the usability
  • Changed: .header class for thead changed to .easy-table-header to minimize conflict possibility with other CSS.
  • Changed: path to jquery.tablesorter to /js and combined with jquery metadata
  • Added: jquery.metadata.js to set additional sorting option
  • Added: themes selector
  • Added: css/easy-table.css for general basic styling
  • Added: New sort parameter on table eg. [table sort=”desc,asc”]
  • Added: New sort attr on cell for default sorting, attr sort=”desc”, attr sort=”desc”, attr sort=”false”
  • Added: htaccess file to prevent directory listing on plugin path.
  • Added: Compatibility with WordPress 3.4.1
  • Improved: CSS for arrow up/down, arrow now only visible on mouseover or if column is sorted.

0.7

  • Fixed: Enclosure in the first column does not work.
  • Added: Compatibility with WordPress 3.4
  • Fixed: Missing enclosure parameter in PHP < 5.3.0

0.6.1

  • Fixed: Accidentally add unused character to the table

0.6

  • Fixed: Missing tbody opening tag on some condition
  • Fixed: Duplicate unit of width attribute

0.5

  • Added: Ability to set attribute for each cell.
  • Added: Support and About tab in plugin options page.
  • Fixed: Table width attribute not work.
  • Removed: Equalize the number of columns in each row.

0.4

  • Fixed: Option value can’t override default value if option value is empty (if checkbox is unchecked).
  • Added: Optionally, tfoot now can be taken from last row. Example usage: [table tf=”last”]somedata[/table]

0.3

  • Improved: Option form now filled out with default value if there are no options saved in database and you don’t need to save option to get the plugin to works.
  • Added: Option to select where script and style should be loaded, eg. if only in single page.
  • Added: tf parameter for tfoot, now you can set up tfoot for your table, tfoot picked up from 2nd row of the data, usage example [table tf=”1″]data[/table]
  • Added: Credit link to Twitter Bootstrap and tablesorter jQuery plugin.

0.2

  • Fixed: Backward compatibility of str_getcsv that just not work in the version 0.1, now plugin should runs on PHP 5.2
  • Fixed: Table now has ‘table’ class even when ‘tablesorter’ is not enabled.

0.1

  • First release