Reformat wide tables for mobile devices using the jQuery Stacktable plugin from John Polacek.
This is a fairly simple plugin that will collapse tables that are too wide for mobile screens into one of three “stacked” views.
The main functionality of this plugin is provided by the jQuery Stacktable plugin from John Polacek, which you can view here:
http://johnpolacek.github.io/stacktable.js/
I take no credit for the jQuery Stacktable plugin. That’s all John!
All this WordPress plugin does is enqueue the Stacktable script on the pages you specify in the settings, and then uses a very small piece of javascript to apply the Stacktable script to ALL tables on the pages you select. You can also disable the built-in sample CSS, so that you can put your own CSS for Stacktable in your theme in order to specify your own mobile breakpoint and any other modifications you wish to make.
Version 1.0.0 adds the ability to use a shortcode on any page to queue up the script. You can specify a type and class attribute, as well as head index and show header attributes.
The “type” attribute can one of the 3 display types: stacktable, cardtable, stackcolumns. Default view is stacktable.
The “class” attribute allows you to specify a class for the wrapper div around the mobile view so you can further tweak the CSS more easily.
The “headindex” attribute allows you to specify the header row index (starting from 0), in case your header row is not the first row of the table.
The “showheader” attribute can have values of “yes” or “no”, with “yes” being the default. This is used to specify if you want to show the headers when using the default stacktable display type (not used for the other 2 display types).
The shortcode to use with default options is simply: [stacktable]
Full Shortcode example: [stacktable type="cardtable" class="myClass" headindex="0" showheader="yes"]
Note that this plugin will have no effect on tables when the screen width is above the mobile breakpoint specified in the CSS.
Features:
The main functionality of this plugin is provided by the jQuery Stacktable plugin from John Polacek, which you can view here:
http://johnpolacek.github.io/stacktable.js/
I created the initial version of this plugin to use for the tables generated by my Volunteer Sign Up Sheets plugin: https://wordpress.org/plugins/pta-volunteer-sign-up-sheets/, but made it generic enough that it could be used for any tables on a WordPress site. For the WordPress.org release I added an admin settings page to allow you to choose the pages the Stacktable script is enqueued on, and to allow you to disable the sample built-in CSS for the mobile view of the tables (as well as the mobile breakpoint).
Since I did NOT have anything to do with the main jQuery Stacktable plugin that provides the majority of the display functionality, I will not be able to provide support for any issues you have with the script.
Extract the zip file and just drop the contents in the wp-content/plugins/ directory of your WordPress installation and then activate the Plugin from Plugins page.
Version 1.0.0
Version 0.0.4
Version 0.0.3
Version 0.0.2
Version 0.0.1