Posts Table Pro


Release date 5 March 2021

  • Fix: Fixed a bug with the 'term' option for post tables using complex queries involving several taxonomies.
  • Fix: Fixed a bug which caused accidental display of the responsive child row when opening the featured image lightbox.
  • Fix: Improved loading of icon font to prevent render blocking.
  • Tested up to WordPress 5.7.


Release date 25 February 2021

  • Fix: Fixed a bug with the post totals message in certain scenarios.
  • Tweak: Minor changes to the plugin settings page and internal code library.


Release date 13 January 2021

  • New: Added new settings to customize the table design.
  • New: Added an 'exclude_term' shortcode option to exclude posts belonging to one or more custom taxonomy terms.
  • Prevent accidental use 'category' option when specifying custom taxonomy terms.
  • Minor improvements to dropdown filters.
  • Updated all language translations.
  • Dev: Updated DataTables to version 1.10.23.
  • Dev: Added hook 'posts_table_enable_select2' to enable or disable the Select2 library.


Release date 18 November 2020

  • Fix: Bug introduced in version 2.3 which caused non-Latin characters to be removed from column and filter headings.
  • Fix: Bug with post totals message when using lazy load.
  • Dev: Improve code for overriding post totals messages.


Release date 13 November 2020

  • Dropdown filters now display relevant items only depending on current results, and update automatically after making a selection (excludes lazy load).
  • Various filter improvements: option to set custom filter headings (placeholder), added search box to filters, removed the 'Filter:' label, use select2 library.
  • Better handling for ACF date fields, and remove the need to specify ACF dates in date_columns option.
  • Better post totals message based on the selected post type, and use singular form when showing 1 result.
  • Added right-to-left (RTL) language support.
  • Changed the default for the position of the page length dropdown (below the table), and pagination type (numbers only).
  • Minor improvements to settings page.
  • Tested up to WordPress 5.5.3.
  • Fix: Prevent conflicts with responsive column display when column name contains a reserved keyword (e.g. "mobile").
  • Fix: Column class filter posts_table_column_class_[column] now applies to all rows in table, not just headings.
  • Dev: Replaced FontAwesome with custom font based on IcoMoon Free icon pack (GPL license).
  • Dev: Updated DataTables to 1.10.22.


Release date 23 September 2020

  • Fix: Add backwards compatibility for sites running PHP 5.6 (temporary).


Release date 9 September 2020

  • New: Added a 'date_modified' column to display the post's last modified date.
  • New: Added a 'button' column which links to the single post page. A new 'button_text' option is also available which allows you to set the text for the button.
  • Added button text option and made other minor improvements to the settings page.
  • Fix: A missing jQuery dependency was causing Javascript errors on some sites.
  • Fix: The 'post_limit' setting was incorrectly applied to lazy loaded tables. It now applies to lazy load only when explicitly set in the shortcode.
  • Fix: Minor CSS issue with the + and - responsive row icons.
  • Dev: Refactored code to use new architecture and plugin license system.
  • Dev: Updated DataTables and Photoswipe libraries.
  • Dev: Removed old web font formats which are no longer required.
  • Dev: Added Composer support.


Release date 23 January 2020

  • Fix a bug with the sort_by option when sorting by custom taxonomy with a slug ending in "_category".
  • Combine CSS and JS assets to reduce the number of HTTP requests.
  • Update DataTables library to version 1.10.20.
  • Tested up to WordPress 5.3.2.


Release date 30 October 2019

  • Tested up to WordPress 5.3.
  • Fix a bug with several table options where setting in the main settings was not applied correctly.
  • Update Russian translations.
  • Refactored code to use updated plugin library.


Release date 7 March 2019

  • Fix: Formatting and sorting of date custom fields in EU/AU date format (dd/mm/yyyy or dd/mm/yy).
  • Fix: Ensure sorting for date custom field works correctly when 1 or more posts is missing custom field data.
  • Fix: Ensure custom taxonomies used as dates are correctly formatted when using the 'date_format' option.
  • Fix: Totals and pagination were wrong after deleting search term, when an initial 'search_term' was set and using lazy load.
  • Dev: New filters for date formatting.


Release date 14 November 2018

  • Added Russian translation.
  • Fix: Bug with 'links' option when using more than one value (e.g. links="title,image").
  • Fix: Prevent private post types being viewed if user doesn't have required capability.
  • Fix: Bug with 'search on click' feature.
  • Tweak: Improve validation of shortcode options.


Release date 19 September 2018

  • Fix: Bug with lazy load caching which caused incorrect post totals.
  • Fix: Bug with table columns being set incorrectly when not using the 'post' post type.
  • Fix: Bug with lazy load which prevented cache being loaded when sorting by date.
  • Fix: Improve generation of table IDs to avoid clashes.
  • Fix: Ensure initial search term is restored when resetting table.
  • Fix: Improve validation of columns and search term shortcode options.
  • Tweak: Image column no longer links to single product page by default.
  • Dev: Improve table caching code.
  • Dev: New filter to adjust minimum search term length.


Release date 31 August 2018

  • Fix: Fix date conversion for custom fields in dd/mm/yy format, to ensure date columns are sorted correctly.
  • Fix: Ensure private posts & pages are hidden if current user doesn't have permission to view them.
  • Fix: CSS issue which prevented FontAwesome icons displaying correctly.
  • Tweak: Update 'post_status' shortcode option to 'status', and add backwards-compatibility for old name.
  • Tweak: Remove extra database call to get posts total when using lazy load.
  • Dev: Improvements to Posts_Data_Table class - get_table and get_data methods now allow 4 possible return types.
  • Dev: Removed inline script for table config and instead use data-config and data-filters attributes on table element.
  • Dev: Replace 'self' with CLASS in callable references to static methods.


Release date 4 June 2018

  • Fix: Ensure wpautop always runs before do_shortcode in 'content' column to prevent incorrect formatting.
  • Fix: Prevent table hooks being registered multiple times when there are several tables on one page.


Release date 29 May 2018

  • Fix: Potential bug with totals when using lazy load.
  • Fix: Potential infinite loop when there are posts tables within post tables.
  • Fix: Bug with display of shortcodes in 'content' column.
  • Fix: Bug with custom taxonomies used as date columns.
  • Fix: Display of audio and video shortcodes in responsive child row.
  • Fix: Potential bug when using posts table in archive template and settings were updated.
  • Fix: Bug with categories filter when the 'category' shortcode option was set.
  • Tweak: Ordering now correctly reset when table is reset.
  • Tweak: Added WPML config file.
  • Tweak: Update license code.
  • Dev: Moved shortcode processing to abstract data class.
  • Dev: Made $data_table and $hooks properties public in Posts_Data_Table.
  • Dev: Made $args property public in various classes to allow easier customization.
  • Dev: Re-added add_above() and add_below() functions to data table class.
  • Dev: New hooks 'posts_table_hooks_before_register' and 'posts_table_hooks_after_register'.
  • Dev: Tested up to WP 4.9.6.


Release date 15 May 2018

  • Fix: Bug with row attributes and classes when using lazy load.
  • Fix: Bug when using table with one column and column heading is blank.
  • Tweak: Improve table reset.
  • Tweak: Typo on settings page.


Release date 14 May 2018

  • New: New plugin options added to the settings page (Settings > Posts Table Pro). Use these to set table options and shortcode defaults.
  • New: Image lightbox feature - open post images in a lightbox when using the 'image' column.
  • New: Table caching added to improve performance. Disabled by default - enable from the settings page or use the 'cache' option in shortcode.
  • New: Categories and custom taxonomy filters now display in correct hierarchy (Parent -> Child -> Grandchild) structure.
  • New: 'search_term' shortcode option to set the initial table search.
  • New: Search filters now search by 'slug' to improve accuracy and avoid name clashes.
  • New: Toolbar button available in Edit Post/Page screen to insert the posts table shortcode.
  • New: Add support for Time Picker fields in Advanced Custom Fields.
  • Fix: Search filters (e.g. Categories filter) now show the correct results when a parent category/term is selected (i.e. posts which have a child category of the selected category are now included in the results).
  • Fix: Bug with lazy load which caused pagination to be set incorrectly when resetting table.
  • Fix: Bug when selecting posts by custom field in ACF and field value is stored as an array.
  • Tweak: Icons replaced with FontAwesome.
  • Tweak: Posts limit now ignored when using lazy load.
  • Tweak: Improved cross-browser support and theme compatibility.
  • Dev: All plugin translation now handled by gettext functions. Old JSON translation files have been deprecated.
  • Dev: Complete code restructure and new data classes added.
  • Dev: Updated DataTables library to 1.10.16.
  • Dev: New filters: posts_table_after_get_data, posts_table_after_get_table, posts_table_custom_table_data_, posts_table_optimize_table_query.
  • Dev: Deprecated filters: posts_table_supported_languages, posts_table_get_data, post_table_get_table, posts_table_cell_data_.
  • Dev: Re-added the posts table wrapper div.
  • Dev: Various other code fixes and improvements.


Release date 15 December 2017

  • You can now pass just the custom field key to the "cf" option to retrieve posts which have that custom field (regardless of value).
  • Code restructure and performance improvements.
  • Portuguese translation.
  • Tested in latest version of WordPress (4.9.1).
  • Fix: Allow ACF fields which store multiple values (e.g. checkbox fields) to be used as selectors with the "cf" option.
  • Fix: Bug when using column names containing a dot "." with lazy load enabled.
  • Tweak: Additional CSS classes and post ID now added to each row in table.
  • Tweak: Added 'posts_table_open_posts_in_new_tab' filter.
  • Tweak: Changed DataTables error reporting.
  • Tweak: New hooks for post table tax query and meta query.
  • Tweak: Removed additional wrapper div so simplify HTML structure.


Release date 1 October 2017

  • New: Add support for ACF date_time_picker field.
  • Fix: Ensure videos are always responsive on smaller screens.
  • Fix: Prevent bug when using two of the same column in table.
  • Fix: Potential PHP error when handling date_picker fields in ACF.


Release date 5 September 2017

  • New: Changed names of all shortcode options beginning 'display_'. Old options still supported for backwards compatibility.
  • Fix: Warning generated on post type validation.
  • Fix: Bug with tax query when using '+' indicator in 'term' option.
  • Tweak: Added post type and post ID as CSS classes to each row, and added 'posts_table_row_classes' and 'posts_table_row_attributes' filters.
  • Tweak: Update documentation links and other minor changes.


Release date 22 August 2017

  • Added 'numeric_terms' option - set to true if you use categories/terms which have numeric slugs.
  • Fix: Allow shortcodes to work in all custom field columns.
  • Fix: Bug with formatting of date custom fields.
  • Fix: Support for custom field date columns held as UNIX timestamps.
  • Fix: Selecting by custom field (using 'cf' option) wasn't working when used for Events Calendar events.
  • Fix: Conflict with Hero Knowledge Base plugin.
  • Tweak: Added hook to allow ordering to be enabled/disabled for specific columns.
  • Tweak: Update DataTables to 1.10.15.


Release date 16 April 2017

  • New: Added support for ACF Repeater fields.
  • New: Added template tags ptp_product_table and ptp_the_product_table for easier use in theme templates.
  • Fix: Ensure width of image column matches the image size used.
  • Fix: Compatibility with date picker fields ACF Pro.
  • Fix: Bug with custom column names appearing in search filter drop-downs.
  • Tweak: Update DataTables to 1.10.13
  • Tweak: Removed $html parameter from 'posts_table_shortcode_output' filter.
  • Tweak: Added filters for separator used in item lists (e.g. post categories).


Release date 23 February 2017

  • Fix: Bug with search filters and search on click when using lazy load option.
  • Fix: Intermittent bug with boolean shortcode options.
  • Fix: Bug with search filters which prevented first search term in table being added to list.
  • Tweak: Ensure shortcode doesn't run in admin.
  • Tweak: Ensure shortcode doesn't run on search results page.


Release date 13 February 2017

  • Fix: Bug with responsive display functions (responsive_display="modal" or "child_row_visible").
  • Fix: Hidden columns are no loner shown in modal child row display.
  • Fix: Bug with date format for date custom fields.
  • Fix: Search filters for hidden columns.
  • Fix: Bug with license code.
  • Tweak: Restructure Javascript array functions to prevent issues with other frameworks.
  • Tweak: Added filter 'posts_table_acf_value' for ACF custom field values.
  • Tweak: Added filter 'posts_table_inline_config' to modify table config.
  • Tweak: Replaced ID with Posts_Data_Table object in filter hooks.


Release date 8 February 2017

  • Fix: If search filter is present as column in table, use column data as items for drop-down.
  • Fix: Bug with custom taxonomy column heading.
  • Tweak: Change inline table config code.
  • Tweak: Added filter 'posts_table_shortcode_output' to filter the table shortcode HTML.


Release date 1 February 2017

  • New: Added 'display_reset_button' option to show or hide the reset button above the table.
  • New: Added column classes to every row in table to allow easier styling of table contents.
  • New: Deactivate license button on plugin settings page to make it easier to switch sites or move from development to production.
  • Fix: Change ACF code to ensure any theme hooks run.
  • Fix: Bug with select, text area and WYSIWYG fields in ACF.
  • Fix: Bug with display of search filters on mobile.
  • Fix: Name of Polish translation file for datatables.
  • Fix: Bug when selecting posts from several categories with '+' (AND) operator.
  • Fix: Restrict search filters to show only child terms when 'category', 'tag' or 'term' option specified.
  • Tweak: Ability to set a blank column heading. Use "blank" after column name, e.g. columns="price:blank".
  • Tweak: Added 'posts_table_search_label', 'posts_table_filter_label' and 'posts_table_reset_button' filter to allow those elements to be customised.
  • Tweak: Added various filters to filter all data in the table (price, add to cart, variations, attributes, etc.)
  • Tweak: Format URL custom fields as links.
  • Tweak: Adjust table styles to enable easier theme customisation.
  • Tweak: Improved support for ACF fields.
  • Tweak: Changed custom field filter to 'posts_table_data_custom_field' (old filter still valid but deprecated).
  • Tweak: Moved inline table config directly below table element.


Release date 19 January 2017

  • Fix: Bug with when sorting custom field date columns in the format "May 2016".
  • Fix: Bug with custom field dates stored in European format (d/m/y).
  • Fix: Bug with 'tags' column which prevented tags from being displayed.
  • Tweak: Add dashicons dependency for plugin stylesheet.


Release date 18 January 2017

  • New: The 'filters' option is now much more flexible - you can include categories, tags or any custom taxonomy, even if they are not displayed as a column in your table. For example, filters="categories,tax:staff_location" or filters="true".
  • New: Search filters are now supported for lazy loaded tables.
  • New: Custom fields or taxonomies which represent dates can now be sorted in correct date order. Use new option "date_columns" to specify which additional columns should be treated as dates, e.g. date_columns="cf:start_date,tax:staff_date".
  • New: 'term' option accepts one taxonomy as well as multiple taxonomies in a single list, e.g. term="product_tag:cool,awesome,great" or term="product_tag:cool,staff_location:london".
  • New: Polish translation (credit: Marcin Wasilewski).
  • Fix: Fixed table layout issue when displaying videos in table.
  • Fix: Bug with media shortcodes when using lazy_load option.
  • Fix: Format of date picker fields in Advanced Custom Fields. Will use 'date_format' option if specified, otherwise the display format in ACF.
  • Fix: Prevent first column from hiding on smaller screens when using responsive_control="inline".
  • Fix: Bug with drop-down filter selection.
  • Fix: Bug with sort_by option for custom fields.
  • Tweak: Table now scrolls to top when clicking a category, tag, author, etc. in the table and search_on_click="true".
  • Tweak: Added filter 'posts_table_custom_field_value' to filter custom field values in table.
  • Tweak: Add filter for column header class - 'posts_table_column_class_ ' + the column name.
  • Tweak: Added table ID to most filters to allow more specific filtering.
  • Tweak: Updated license activation code.
  • Tweak: Re-structure Javacript code.
  • Tweak: Change styling and location of reset button, and other minor styling improvements.


Release date 25 November 2016

  • Added fitVids.js to enable responsive video for tables displaying media files.
  • Fix bug with CSS table layout.
  • Tested with WordPress 4.7.


Release date 24 November 2016

  • Added support for search filters (drop-down lists) to filter table by category, tag, author and custom taxonomy columns. Use filters="true" to enable.
  • Added Reset button next to search box to clear the current table search.
  • New option 'shortcodes' to allow shortcode content to be displayed in the table (content and excerpt columns).
  • Added support for WordPress embeds using [video], [audio], and [playlist] shortcodes. Use shortcodes="true" to enable.
  • Added four new options to show or hide the page length drop-down, search box, results totals and pagination. Options are 'display_page_length', 'display_search_box', 'display_totals' and 'display_pagination' and each can be set to either 'top', 'bottom', 'both' or 'false' to hide the element.
  • Fix bug with 'search on click' feature for categories, tags, etc. Search is now restricted to the column clicked on.
  • Fix compatibility issue with WordPress versions below 4.5.
  • Styling improvements.


Release date 8 November 2016

  • Added 'exclude_category' option to allow entire post categories to be excluded from table. Use category slugs or IDs.
  • Added 'include' option to display only the posts specified by their IDs
  • Added 'author' option to restrict posts in table to a specific author (or list of authors).
  • Added 'post_limit' option to limit the total number of posts displayed in the table.
  • Added 'auto_width' option to enable or disable the automatic column width calculations (default: true)
  • Added 'paging_type' option to allow control over pagination style used - see documentation for details
  • The 'category', 'tag' and 'term' options now accept IDs as as well as slugs.
  • Fixed bug with custom fields which have mixed case or uppercase keys.
  • Added Italian translation (credit: Libri Ehret).


Release date 3 November 2016

  • Added $post object as parameter to 'posts_table_custom_data' filter
  • Bug fix with sort_by option


Release date 3 November 2016

  • Added new 'excerpt' column to show the post excerpt. New option 'excerpt_length' sets the number of words to use for the excerpt.
  • Table can now be sorted by the following: menu_order (use 'order' option set for page/post), id (sort by post ID), comment_count, modified (last modified date), rand (random ordering), author, name (order by post slug), and type (order by post type).
  • Allow custom columns to be added to table - use filter 'posts_table_custom_data_' to populate custom columns
  • Allow image_size to be set using one number for both width and height (e.g. image_size=50)
  • Added new responsive options - responsive_control, responsive_display, and column_breakpoints. These allow more control over the display when viewed on smaller screens. See documentation for details.
  • Changed default table columns if not viewing posts
  • Allow featured image column to link to the relevant post or page (use links="image" or links="all")
  • Allow categories or tags to be used in links option
  • The 'Show entries' drop-down now includes an 'All' option to display all rows
  • The 'Show entries' drop-down above table now defaults to the 'rows_per_page' setting in the shortcode
  • Renamed 'ajax' option to 'lazy_load'. ajax option is still supported for backwards-compatibility.
  • Improved the table styling
  • Fixed bug with Advanced Custom Field values for date_picker, wysiwyg and text_area fields
  • Added documentation and contact support links to settings page
  • Updated license validation code
  • Other code improvements and bug fixes


Release date 23 September 2016

  • Add support for all Relational fields in ACF (i.e Page Link, Post Object, Relationship, Taxonomy and User fields)
  • Added Dutch translation (credit: Alex Van Haren)
  • Fix bug for non-standard date formats for Date Picker fields in ACF
  • Fix bug in license key activation


Release date 10 September 2016

  • Added full support for Advanced Custom Fields plugin
  • Added new shortcode options 'no_posts_message' and 'no_posts_filtered_message' to allow custom messages when no posts are found (English language only)
  • Added new shortcode option 'date_format' to allow custom date format to be used - see documentation for examples
  • Allow image_size to use format "50x50" as well as "50,50"
  • Allow column widths to be specified in pixels as well as a percentage
  • Updated EDD Updater which handles the plugin updates
  • Updated license key code
  • Fixed conflict with Hide Featured Image plugin
  • Update language files
  • New filters added and other minor tweaks


Release date 17 August 2016

  • Fix bug with widths attribute that was preventing custom column widths being set


Release date 11 August 2016

  • Allow custom headings to be set for columns (see documentation for examples)
  • Allow all post/page content to be shown in the table. To enable this, set content_length to '-1'
  • Update to version 1.10.12 of DataTables
  • Changed text domain and fixed loading of translation files
  • Add settings link to Plugins page
  • Fix: javascript bug with 'search on click' feature
  • Fix: bug preventing featured images working when AJAX enabled
  • Fix: removed use filter_input() for server variables as not always reliable


Release date 23 May 2016

  • Added support for featured images and new 'image_size' attribute.


Release date 20 May 2016

  • Initial release.