Release date 16 December 2022
Add the correct 'no posts' message to the FacetWP integration.
Some special characters were not allowed when selecting posts by custom field, or when using the search box.
When using the 'posts_table_language_defaults' filter, 'totalsSingle' and 'totalsPlural' were not correctly applied.
Improve validation and escaping of table options.
Tested up to WordPress 6.1.
Updated DataTables to 1.13.1.
Replaced Git submodules with Composer packages.
Release date 5 October 2022
Search filters now show only the relevant options based on table content when table is first loaded, after a text search, and after click to search (standard load only).
Support all UTF-8 characters when selecting posts by category, tag, term, post type, or excluding categories.
Support all UTF-8 characters in the search box, search_term option, and the search results page.
On table reset, the search filters were not reset correctly after performing a text search.
Conflict with search_term option when using standard load which could produce incorrect results.
Some non-Latin characters in column and filter headings were not displayed correctly, or removed altogether.
Change minimum search term length to 2 characters in all scenarios (search results page, search_term option, lazy load, standard load).
Automatically hide any columns and filters that don't apply to the selected post type.
Support the % character in the widths option, and px units in the image_size option.
Refactored click to search feature.
Improve display of search filters in Safari.
Ensure posts_table_language_defaults hook filters all available language strings.
Added filters before post link is added for ID, title and image columns - posts_tabledata_before_link.
Deprecated hook posts_table_max_posts_limit.
Support arrays or strings for all list based options in ptp_get_posts_table and ptp_the_posts_table.
Tested up to WordPress 6.0.2.
Release date 25 August 2022
Added global search feature, with new search page and widget to allow table searches from any location.
Integration with SearchWP.
Integration with FacetWP.
Added attachment MIME type support, e.g. post_type="attachment:image/png".
The table result count (e.g. '5 articles') now always shows the correct post type based on the table contents.
Fixed a bug with the 'term' option which prevented multiple taxonomies being specified correctly.
Video files were sometimes displayed at the incorrect size or in the wrong proportions.
Audio files and playlists were not displayed correctly, especially in mobile responsive rows.
Bug with filter dropdown position in certain themes.
Rows where all cells are empty were not being added to the table, which made the post total incorrect.
Tables showing image files (post_type="attachment:image") now show the image in the Image column.
Updated design for the responsive modal.
Always use column control method for responsive rows when the first column has 'mobile' visibility.
Improved display of audio and video when MediaElement.js is not available.
Improved display of button column in block based themes.
Improved list of post types on settings page.
Updated settings page.
Add post classes (post type, status, etc) to responsive child rows and modal.
Update DataTables library to 1.12.1.
Tested up to WordPress 6.0.1.
Release date 13 January 2022
Date custom fields in the table are now displayed in the current language, instead of only in English.
A bug introduced in 2.4, where selecting posts with the
cf option did not work if the custom field was a multi-select type such as checkbox or radio button.
Tested up to WordPress 5.8.3.
Release date 16 November 2021
An issue using special characters in the 'cf' custom field option.
A PHP warning when the image file for post featured image is not found.
Use webpack for script bundling.
Replace wp_localize_script with wp_add_inline_script.
Release date 5 March 2021
Fixed a bug with the 'term' option for post tables using complex queries involving several taxonomies.
Fixed a bug which caused accidental display of the responsive child row when opening the featured image lightbox.
Improved loading of icon font to prevent render blocking.
Tested up to WordPress 5.7.
Release date 25 February 2021
Fixed a bug with the post totals message in certain scenarios.
Minor changes to the plugin settings page and internal code library.
Release date 13 January 2021
Added new settings to customize the table design.
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.
Updated DataTables to version 1.10.23.
Added hook 'posts_table_enable_select2' to enable or disable the Select2 library.
Release date 18 November 2020
Bug introduced in version 2.3 which caused non-Latin characters to be removed from column and filter headings.
Bug with post totals message when using lazy load.
Improve code for overriding post totals messages.
Release date 13 November 2020
Prevent conflicts with responsive column display when column name contains a reserved keyword (e.g. "mobile").
Column class filter posts_table_columnclass[column] now applies to all rows in table, not just headings.
Replaced FontAwesome with custom font based on IcoMoon Free icon pack (GPL license).
Updated DataTables to 1.10.22.
Release date 23 September 2020
Add backwards compatibility for sites running PHP 5.6 (temporary).
Release date 9 September 2020
Added a 'date_modified' column to display the post's last modified date.
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.
The 'post_limit' setting was incorrectly applied to lazy loaded tables. It now applies to lazy load only when explicitly set in the shortcode.
Minor CSS issue with the + and - responsive row icons.
Refactored code to use new architecture and plugin license system.
Updated DataTables and Photoswipe libraries.
Removed old web font formats which are no longer required.
Added Composer support.
Release date 23 January 2020
Release date 30 October 2019
Release date 7 March 2019
Formatting and sorting of date custom fields in EU/AU date format (dd/mm/yyyy or dd/mm/yy).
Ensure sorting for date custom field works correctly when 1 or more posts is missing custom field data.
Ensure custom taxonomies used as dates are correctly formatted when using the 'date_format' option.
Totals and pagination were wrong after deleting search term, when an initial 'search_term' was set and using lazy load.
New filters for date formatting.
Release date 14 November 2018
Bug with 'links' option when using more than one value (e.g. links="title,image").
Prevent private post types being viewed if user doesn't have required capability.
Bug with 'search on click' feature.
Improve validation of shortcode options.
Release date 19 September 2018
Bug with lazy load caching which caused incorrect post totals.
Bug with table columns being set incorrectly when not using the 'post' post type.
Bug with lazy load which prevented cache being loaded when sorting by date.
Improve generation of table IDs to avoid clashes.
Ensure initial search term is restored when resetting table.
Improve validation of columns and search term shortcode options.
Image column no longer links to single product page by default.
Improve table caching code.
New filter to adjust minimum search term length.
Release date 31 August 2018
Fix date conversion for custom fields in dd/mm/yy format, to ensure date columns are sorted correctly.
Ensure private posts & pages are hidden if current user doesn't have permission to view them.
CSS issue which prevented FontAwesome icons displaying correctly.
Update 'post_status' shortcode option to 'status', and add backwards-compatibility for old name.
Remove extra database call to get posts total when using lazy load.
Improvements to Posts_Data_Table class - get_table and get_data methods now allow 4 possible return types.
Removed inline script for table config and instead use data-config and data-filters attributes on table element.
Replace 'self' with CLASS in callable references to static methods.
Release date 4 June 2018
Ensure wpautop always runs before do_shortcode in 'content' column to prevent incorrect formatting.
Prevent table hooks being registered multiple times when there are several tables on one page.
Release date 29 May 2018
Potential bug with totals when using lazy load.
Potential infinite loop when there are posts tables within post tables.
Bug with display of shortcodes in 'content' column.
Bug with custom taxonomies used as date columns.
Display of audio and video shortcodes in responsive child row.
Potential bug when using posts table in archive template and settings were updated.
Bug with categories filter when the 'category' shortcode option was set.
Ordering now correctly reset when table is reset.
Added WPML config file.
Update license code.
Moved shortcode processing to abstract data class.
Made $data_table and $hooks properties public in Posts_Data_Table.
Made $args property public in various classes to allow easier customization.
Re-added add_above() and add_below() functions to data table class.
New hooks 'posts_table_hooks_before_register' and 'posts_table_hooks_after_register'.
Tested up to WP 4.9.6.
Release date 15 May 2018
Bug with row attributes and classes when using lazy load.
Bug when using table with one column and column heading is blank.
Improve table reset.
Typo on settings page.
Release date 14 May 2018
New plugin options added to the settings page (Settings > Posts Table Pro). Use these to set table options and shortcode defaults.
Image lightbox feature - open post images in a lightbox when using the 'image' column.
Table caching added to improve performance. Disabled by default - enable from the settings page or use the 'cache' option in shortcode.
Categories and custom taxonomy filters now display in correct hierarchy (Parent -> Child -> Grandchild) structure.
'search_term' shortcode option to set the initial table search.
Search filters now search by 'slug' to improve accuracy and avoid name clashes.
Toolbar button available in Edit Post/Page screen to insert the posts table shortcode.
Add support for Time Picker fields in Advanced Custom Fields.
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).
Bug with lazy load which caused pagination to be set incorrectly when resetting table.
Bug when selecting posts by custom field in ACF and field value is stored as an array.
Icons replaced with FontAwesome.
Posts limit now ignored when using lazy load.
Improved cross-browser support and theme compatibility.
All plugin translation now handled by gettext functions. Old JSON translation files have been deprecated.
Complete code restructure and new data classes added.
Updated DataTables library to 1.10.16.
New filters: posts_table_after_get_data, posts_table_after_get_table, posts_table_custom_tabledata, posts_table_optimize_table_query.
Deprecated filters: posts_table_supported_languages, posts_table_get_data, post_table_get_table, posts_table_celldata.
Re-added the posts table wrapper div.
Various other code fixes and improvements.
Release date 15 December 2017
Allow ACF fields which store multiple values (e.g. checkbox fields) to be used as selectors with the "cf" option.
Bug when using column names containing a dot "." with lazy load enabled.
Additional CSS classes and post ID now added to each row in table.
Added 'posts_table_open_posts_in_new_tab' filter.
Changed DataTables error reporting.
New hooks for post table tax query and meta query.
Removed additional wrapper div so simplify HTML structure.
Release date 1 October 2017
Add support for ACF date_time_picker field.
Ensure videos are always responsive on smaller screens.
Prevent bug when using two of the same column in table.
Potential PHP error when handling date_picker fields in ACF.
Release date 5 September 2017
Changed names of all shortcode options beginning 'display_'. Old options still supported for backwards compatibility.
Warning generated on post type validation.
Bug with tax query when using '+' indicator in 'term' option.
Added post type and post ID as CSS classes to each row, and added 'posts_table_row_classes' and 'posts_table_row_attributes' filters.
Update documentation links and other minor changes.
Release date 22 August 2017
Allow shortcodes to work in all custom field columns.
Bug with formatting of date custom fields.
Support for custom field date columns held as UNIX timestamps.
Selecting by custom field (using 'cf' option) wasn't working when used for Events Calendar events.
Conflict with Hero Knowledge Base plugin.
Added hook to allow ordering to be enabled/disabled for specific columns.
Update DataTables to 1.10.15.
Release date 16 April 2017
Added support for ACF Repeater fields.
Added template tags ptp_product_table and ptp_the_product_table for easier use in theme templates.
Ensure width of image column matches the image size used.
Compatibility with date picker fields ACF Pro.
Bug with custom column names appearing in search filter drop-downs.
Update DataTables to 1.10.13
Removed $html parameter from 'posts_table_shortcode_output' filter.
Added filters for separator used in item lists (e.g. post categories).
Release date 23 February 2017
Bug with search filters and search on click when using lazy load option.
Intermittent bug with boolean shortcode options.
Bug with search filters which prevented first search term in table being added to list.
Ensure shortcode doesn't run in admin.
Ensure shortcode doesn't run on search results page.
Release date 13 February 2017
Bug with responsive display functions (responsive_display="modal" or "child_row_visible").
Hidden columns are no loner shown in modal child row display.
Bug with date format for date custom fields.
Search filters for hidden columns.
Bug with license code.
Added filter 'posts_table_acf_value' for ACF custom field values.
Added filter 'posts_table_inline_config' to modify table config.
Replaced ID with Posts_Data_Table object in filter hooks.
Release date 8 February 2017
If search filter is present as column in table, use column data as items for drop-down.
Bug with custom taxonomy column heading.
Change inline table config code.
Added filter 'posts_table_shortcode_output' to filter the table shortcode HTML.
Release date 1 February 2017
Added 'display_reset_button' option to show or hide the reset button above the table.
Added column classes to every row in table to allow easier styling of table contents.
Deactivate license button on plugin settings page to make it easier to switch sites or move from development to production.
Change ACF code to ensure any theme hooks run.
Bug with select, text area and WYSIWYG fields in ACF.
Bug with display of search filters on mobile.
Name of Polish translation file for datatables.
Bug when selecting posts from several categories with '+' (AND) operator.
Restrict search filters to show only child terms when 'category', 'tag' or 'term' option specified.
Ability to set a blank column heading. Use "blank" after column name, e.g. columns="price:blank".
Added 'posts_table_search_label', 'posts_table_filter_label' and 'posts_table_reset_button' filter to allow those elements to be customised.
Added various filters to filter all data in the table (price, add to cart, variations, attributes, etc.)
Format URL custom fields as links.
Adjust table styles to enable easier theme customisation.
Improved support for ACF fields.
Changed custom field filter to 'posts_table_data_custom_field' (old filter still valid but deprecated).
Moved inline table config directly below table element.
Release date 19 January 2017
Bug with when sorting custom field date columns in the format "May 2016".
Bug with custom field dates stored in European format (d/m/y).
Bug with 'tags' column which prevented tags from being displayed.
Add dashicons dependency for plugin stylesheet.
Release date 18 January 2017
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".
Search filters are now supported for lazy loaded tables.
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".
'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".
Polish translation (credit: Marcin Wasilewski).
Fixed table layout issue when displaying videos in table.
Bug with media shortcodes when using lazy_load option.
Format of date picker fields in Advanced Custom Fields. Will use 'date_format' option if specified, otherwise the display format in ACF.
Prevent first column from hiding on smaller screens when using responsive_control="inline".
Bug with drop-down filter selection.
Bug with sort_by option for custom fields.
Table now scrolls to top when clicking a category, tag, author, etc. in the table and search_on_click="true".
Added filter 'posts_table_custom_field_value' to filter custom field values in table.
Add filter for column header class - 'posts_table_columnclass ' + the column name.
Added table ID to most filters to allow more specific filtering.
Updated license activation code.
Re-structure Javacript code.
Change styling and location of reset button, and other minor styling improvements.
Release date 25 November 2016
Release date 24 November 2016
Release date 8 November 2016
Release date 3 November 2016
Release date 3 November 2016
Release date 23 September 2016
Release date 10 September 2016
Release date 17 August 2016
Release date 11 August 2016
bug preventing featured images working when AJAX enabled
removed use filter_input() for server variables as not always reliable
Release date 23 May 2016
Release date 20 May 2016