NEW - Added new core setting for adding custom JavaScript. This new setting will allow for adding callbacks directly from the ALM settings page.
NEW: Added new alm_seo_posts_per_page filter to disable the posts_per_page protection in the SEO add-on.
NEW - Added new alm_canonical_frontpage_trailing_slash filter to remove the trailing slash from frontpage URLs. This is useful for add-ons to update the browser URL.
NEW - Added new alm_allow_future_posts filter to allow future posts for non-logged in users. add_filter('alm_allow_future_posts', '__return_true');
NEW - Added new alm_button_wrap_classes filter to add classes to the button wrapper element.
UPDATE: Added new start and end variables in the Results Text feature. This adds support for using Results Text with the Paging Add-on.
UPDATE: Normalized how the default.php Repeater Template is created on plugin activation.
FIX - Fixed PHP warnings displayed if ALM was added to a 404 page.
SECURITY - Fix for potential admin level exploit with Repeater exports.
SECURITY - Fix for potential admin level exploit with getting taxonomy terms in the Shortcode Builder.
SECURITY - Fix for potential admin level exploit with getting layout templates in the Repeater Template section of ALM.
NEW: Added alm_ajaxurl filter that allows for filtering the admin-ajax URL.
FIX: Fixed issue with Filters add-on pagination links in ` not maintinaing the querystring URLs e.g. ?pg=2, ?pg=3 etc.
FIX: Added fix for potential Sticky Posts fatal error that could occur in the WP_Query when using the ALM sticky post functionality on very large large sites with greatan than 200 posts.
FIX: Fixed PHP warning that could appear in the <noscript/> function for SEO and Filters add-ons.
FIX: Fixed issue with SEO and Preloaded element not getting the 'alm-preloaded' classname.
FIX: Fixed issue with PHP warning around ALM settings.
UPDATE - Added required functionality for updated to the Next Page add-on that allows for auto implementation across post types.
UPDATE - Updates Axios library to 0.24.0.
UPDATE - Cleaned and refactored the meta query functionality.
UPDATE - Various admin UI and UX updates.
FIX - Fixed issue with null taxonomy query being added to some tax_query. This did not affect the overall query, but was being returned by mistake an dis now removed.
FIX - Fixed possible issue with page location and document title being passed incorrectly to Google Analytics when using the Single Posts add-on.
FIX - Added various admin fixes for WordPress 5.8.
FIX - Removed PHP warnings that could appear on initial plugin installation if WP_DEBUG is enabled.
FIX - Attempted fix of license activation/deactivation problems some users have experienced.
NEW - Added new almWooCommerceLoaded and almElementorLoaded JavaScript callback function that is triggered after a successful Ajax load when using the WooCommerce and Elementor add-ons.
UPDATE - Added support for image lazy loading in the WooCommece and Elementor add-ons. If a data-src attribute is present on an image in the Ajaz results, Ajax Load More will now automatically load the image.
FIX - Fixed PHP warning that could appear if Ajax Load More settings had not been previously been updated.
FIX - Fixed issue with Call to Actions settings not appearing in Shortcode Builder if that was the only add-on installed.
FIX - Fixed issue where extensions may not appear in Shortcode Builder.
FIX - Fixed issue where ALM_DEBUG was always set to true when using Elementor or WooCommerce add-ons.
NEW - Added new lazy_images parameter that provides a potential fix for images not loading when other plugins/scripts are hooked into the sites image loading process.
NEW - Added filter that can disable the <noscript/> functionality of the SEO and Filters add-ons.
add_filter( 'alm_disable_noscript_{alm_id}', '__return_true' );
FIX - Added fix for issue where Load More button would not disable if zero posts were available on initial page load.
FIX - Fixed issue when filtering and updating the Load More button label.
FIX - Fixed JS error when using transition_container="false" and transition="false" in the same shortcode.
FIX - Fixed 'Cannot read property postcount of undefined' error that can appear. The underlying still exists and I've been unable to solve it but the error is now surpressed and Ajax Load More will function as expected. A console warning will be rendered in it's place.
UPDATE - Updated core ALM button CSS selectors.
UPDATE - Admin UI/UX updates to Shortcode Builder and Settings screen.
UPDATE - Attempting to fix with license activation script to prevent issues with wp_remote_post.
UPDATE - Added console warning if Ajax Load More is not able to access meta object in Ajax response.
NEW - Added new vars parameter that allows for passing data more easily into Filters and Repeater Templates. Variables can accessed in Repeater Templates by accessing the $args array. This will pull in all query and variable parameters.
[ajax_load_more vars="var1:The value of var1 value;var2:The value for #2"]print_r($args);
UPDATE - Various admin UI/UX updates and layout improvements.
FIX - Fixed issue with Single Posts add-on custom query returning all posts if the query was empty.
FIX - Fixed issue with height of Ajax Load More when filtering with Masonry and zero results are returned.
FIX - Fixed issue in Shortcode builder caused by updated Select2 JS.
** UPGRADE NOTICE for Elementor Add-on Users**
We have updated the Elementor add-on settings for how Ajax Load More determines the next page of content during infinite scroll.
Ajax Load More no longer uses the Numbers pagination type, please follow the steps below to update your widget after update.
Visit your page in Elementor.
Locate the Posts Widget.
Update the Pagination type in the Posts Widget from Numbers to Numbers + Previous/Next or just Previous/Next.
View the Guide if you require addtional information.
** OTHER UPDATES **
NEW - Added new scroll_direction parameter that allows for horizontal scrolling of Ajax Load More by setting scroll_direction="horizontal" in your shortcode or alm_render method.
To horizontal scroll ALM you MUST use a scroll_container as seen in the Scroll Direction example.
Horizontal scroll uses a custom Flexbox layout for aligning items.
RTL support will be coming soon.
FIX - Fixed issue with Single Posts and the Table of Contents functionality duplicating the first post entry in the list.
FIX - Added fix for Fatal Error that may appear in the Shortcode class on WooCommerce Product Attribute archive pages.
** UPGRADE NOTICE **
ALM users with the WooCommerce add-on activated MUST update the add-on to version 1.0.2 when prompted.
NEW - Added Cache support for the Comments Add-on
NEW - Adding querystring variables to Single Post add-on URLs that allows users to perform tasks based on these values. Much like you can do with ALM Variables. e.g. http://website.com/post-title/?id=469&alm_page=2
NEW - Added new ajaxloadmore.reset public JavaScript function that will reset Ajax Load More back to it's original state (page 1).
** UPGRADE NOTICE **
ALM users who are using out of the box styling of Ajax Load More listing elements should be aware of the following update to the core plugin CSS.
The default Ajax Load More listing CSS has been updated for individual list items. The CSS now targets a li.alm-item element for styling.
Previously, the CSS referenced only the <li /> element. Adding this classname to the <li class="alm-item" /> will allow for easier overriding of styles.
I have also added default resposnive styles for users making use of this classname.
If you notice issues with your list styling, update your Repeater Template and add the alm-item classname to the <li/>.
** OTHER UPDATES **
NEW - Adding responsive CSS styling for the default Repeater Template.
NEW - Added new button_done_label parameter that allows for updating the button label after all posts have been loaded.
NEW - Added custom Ajax Load More shortcode widget to the Elementor page builder live edit mode.
FIX - Fixed issue with placeholder image not be removed after almDone callback is fired.
FIX - Fixed issue in Chrome scroll position issue that was introduced after a recent Chrome update.
NEW - Added support for Masonry transition and Filters add-on - previously when using Masonry paging URLs would not update as users load additional pages.
This requires Filters 1.9.3
FIX - Fixed issue with Load More not working after running a custom filter when using Masonry transition .
UPDATE - Updated Babel dependancy versions to (hopefully) resolve issues around IE11 startsWith and endsWith errors.
UPDATE - Updated uninstall.php script to skip removal of Repeater Templates if the template directory has been changed via the alm_repeater_path hook.
NEW - Added new placeholder parameter that allows users to display a placeholder image while Ajax content is being loaded. View Example.
FIX - Fixed issue with deep linking URLs in the filters add-on not sending user to correct location on the page.
FIX - Fixed issue with HTML elements in no_results_text being rendered as plain text.
UPDATE - Updated admin CSS to match WordPress 5.3.
UPDATE - Improved license expiration notices and renewal links.
UPDATE - Updated alm_canonical_url filter. This filter now requires the ALM ID to be added into the filter. alm_canonical_url_{id} like the other filter hooks.
NEW - Added new loading_style parameter that allows users to override the global button style at the shortcode level.
NEW - Added mousewheel detection, 'end' and 'page down' keyup listeners for loading posts. In some rare cases users would not be able to load posts unless the user scroll back up the page. This will hopefully solve that issue.
UPDATE - Improved plugin accessibility and focus states.
UPDATE - Improved admin UI of license updates and expiration notifications.
FIX - Fixed issue with no_results_text not displaying for some users.
FIX - Fixed issue with table data not rendering correctly in Ajax results.
FIX - Added fix for meta_value not working if set to 0 in a Meta_Query.
FIX - Fixed issue with focus not being set on Ajax Load More after a filter method.
FIX - Fixed posisble issue with ALM continuously loading posts when using SEO/Next Page or Single Posts addon.
FIX - Fixed issue in ALM admin with filename adding single quotes when exporting a Repeater Template from inside the ALM admin.
FIX - Fixed issue with tag archives when using WPML or Polylang translation plugins.
FIX - Fixed issue with deep link pagination in the SEO and Filters addon when adding HTML comments or empty whitespace to the start/end of Repeater Template
UPDATE - Updated SEO <noscript/> markup to include First and Last pagination links for search crawlers.
NEW - Added direct WooCommerce integration using the woocommerce shortcode parameter. Blog post and docs coming soon how to use this new parameter with archive and product listing pages.
FIX - Fixed issue with element scroll and auto-focus in iOS and Android devices.
UPDATE - Removing REST API code introduced in 5.1 that caused issues for some users. Please make sure you clear your site cache and any combined JavaScript.
NEW - Added new ALM_DISABLE_REPEATER_TEMPLATES PHP constant that prevents ALM from creating the default Repeater Template or storing template data in your database. To use this feature, add the following to your wp-config.php in the root of your site: define('ALM_DISABLE_REPEATER_TEMPLATES', true);.
UPDATE - Removed REST API settings from admin/admin.php and ajax-load-more.php.
UPDATE - Better error reporting for failed Ajax requests.
UPDATE - Updated the scroll trigger from the Load More <button class="button"/> to the button wrap <div class="alm-btn-wrap/>. This is because many users were setting display: none; on the button directly and that caused loading issues.
FIX - FIxed issue with ALM not maintaining past page scroll position when a user hits the browser back button.
FIX - Security fix for $querystring URLs in Preloaded content.
FIX - Fixed issue with nested .alm-preloaded div elements with Filters and Preloaded addon.
FIX - Fixed issue with alm_render function throwing non static function warning message.
FIX - Fixed JS console warning message abut duplicate babel/polyfill scripts for users running other versions of Babel.
FIX - Fixed srcSet issue with paged results in Filters and SEO addon when using Safari browser.
UPDATE - After the 5.1.0 launch I discovered an issue with the REST API and WooCommerce. I have reverted the default REST API Usage until I can sort this out.
NEW - Added initial support for nesting Ajax Load More instances. Users can now run Ajax Load More inside of another instance of Ajax Load More. For example, using Next Page add-on functionality inside of Previous Post content(Single posts). [ajax_load_more nested="true"]. Note: This is new functionality as should be used with caution as it has not fully been tested through every possible situation. Nested ALM Filters are not currently supported.
NEW - Added new plugin uninstall script and settings for removing all Ajax Load More data on plugin removal/deletion.
FIX - Fixed issue where filtering would stall when zero results were returned in an Ajax query.
FIX - Added bug fix for Shortcode Builder throwing a JS error when tags and/or categories are empty.
October 3, 2018 =
Minor point release that affects Preloaded and Search Engine Optimization add-on users only. This release fixes 2 critical bugs in Ajax Load More 3.7.
FIX - Fix for Preloaded add-on not parsing multiple Post Types (I'm sorry about that!).
FIX - Adding .alm-reveal div and css_classes to NO_SCRIPT render to keep styling and layouts consistent.
This Ajax Load More release contains fundamental changes to the way ALM loads CSS. After update, if you run into issues visit the Ajax Load More settings screen and deselect the Load CSS Inline option.
NEW - Updated the default loading of Ajax Load More CSS. CSS Will now be inlined to improve site overall performance. A new setting has been added to allow for disabling of this inline CSS update.
NEW - New filters added for hooking the post ID, slug and canonical URL.
FIX - Updated shortcode builder JS to remove unwanted references to the Users add-on.
FIX - Fixed bug with searching and the Preloaded add-on.
FIX - Fixed for REST API returning null results do to unset data variable.
Update - Updated Previous Post cache to reference the post ID vs post slug. This fixes an issue with special characters in post URLs causing 404 errors.
FIX - Applied a fix for the filtering method that was updated in 3.3.0 - it was causing load more function to be called multple times in some situations.
FIX - Fixed issue where filtering with the Paging add-on was resulting in a JavaScript error.
NEW - Added new filter to optionally remove the trailing slash in URL of the SEO add-on. add_filter('alm_seo_remove_trailing_slash', '__return_true');
NEW - Added new transition_container_classes parameter that allows for custom classes to be added to the .alm-reveal container div.
NEW - Added new almDestroyed callback function that is dispatched after destroy_after has been triggered.
ADD-ONS
NEW - Added horizontalOrder support for built in Masonry. The masonry_horizontalorder shortcode param will lay out items to maintain horizontal left-to-right order.
FIX - Fix for font icons not showing in shortcode builder.
FIX - Fix for issue with cache being created by logged in users even if 'Don't cache files for logged in users' is selected in the ALM settings.
UPDATE - Removed Nonce security option from ALM Settings.
UPDATE - Code cleanup, updating HTML markup in some areas.
FIX - Bug fix for JavaScript issues introduced for IE11 & Edge browsers in ALM 3.1.1 - I reverted the problematic new functions and everything is working as expected.
UPGRADE NOTICE - Version 3.1.1 drops support for IE8.
Update - Added support for ALM Filtering + Masonry.
Update - Added support for Preloaded + Masonry.
Update - Started transitioning Ajax Load More away from jQuery. This will be a long process but hopefully will be able to remove dependency in the near future.
FIX - Fixed issue where .alm-loading class was not being removed after Ajax post load.
FIX - Removed Advanced Custom Fields from licenses section - this extension does NOT require a license key.
UPGRADE NOTICE - Ajax Load More has changed the directory from which the core CSS and JS are loaded. Core CSS and JS is now loaded from the /ajax-load-more/core/dist/ directory - you may need to clear your browser and site cache after update.
NEW - Adding built-in support for Masonry. Set transition="masonry" masonry_selector=".{selector_name}" in your shortcode to enable a custom Masonry callback and automatically enqueue Masonry and ImagesLoaded from core WordPress.
NEW - Adding built-in support progress bar loaders using Pace.js.
UPDATE - Core ALM CSS and JS is now loaded from core/dist/ directory.
UPDATE - Added modules, libs and vendor directories to core/js/ for splitting of JS files.
UPDATE - Added gulp config for compiling Ajax Load More JS and Sass locally.
FIX - Fixed issues with shortcode building providing incorrect values.
NEW - Added required functionality for new Advanced Custom Fields extension
NEW - New interface for displaying Theme Repeater Templates inside template admin.
NEW - Added new .alm-loading class to #ajax-load-more container while content is loading. This class will allow for added transition states without needing to bake into core.
NEW - Adding post__in to orderby param in shortcode builder
NEW - Added new data-post-id attribute to ALM container to get current post ID.
NEW - Add Extensions page to ALM admin for installs extensions with a single click.
Updated - Added support for > 4 meta_query queries.
Updated - Updated cache directory path to reside in uploads/alm-cache directory vs ALM cache directory.
Updated - Updated styling (font size and family) on Load More button.
FIX - JS error when using multiple filters in Safari (Missing closing ] bracket on data attribute).
FIX - Missing quote in shortcode builder when using call to actions and theme repater add-ons.
NEW - ID shortcode parameter. Assigning a unique ID to an Ajax Load More instance will allow for filters to be run more easily.
NEW - Added a new filter alm_query_args_[id] that let's users create custom filters based on the ID of the Ajax Load More instance. Users can easily target a specific instance of Ajax Load More to modify query $args. See https://connekthq.com/plugins/ajax-load-more/docs/filter-hooks/#alm_query_args
NEW - Added a debug filter to view the return contents of the Ajax Load More query in the browser console (add_filter( 'alm_debug', '__return_true' )).
FIX - Issue with cta_position parameter for Call to Actions add-on in shortcode builder.
UPDATE - Updated Shortcode Builder UI to add groupings for parameter types [Add-ons, Display Settings, Query Parameters].
UPDATE - Removed limit of 3 Taxonomy queries. Tax queries now support an unlimited amount however the Shortcode Builder is still capped at 3.
UPDATE - Adjusted max_pages shortcode parameter to default to 0.
UPDATE - Reworked alm_get_page_slug ()function to get current page slug.
UPDATE - Remove support for author slugs in favor of multiple author support and selection from the Shortcode Builder
UPDATE - Various UI/UX updates, new logos added to admin panel.
NEW - Completed integration of new Call to Actions add-on.
NEW - Added $.fn.almTriggerClick() public function that will easily allow users to trigger Ajax Load More from any object on the screen.
UPDATE - Allow for post_status="inherit" for use with attachments.
UPDATE - Adding Media (attachment) post type to the Shortcode Builder.
UPDATE - Allow for Author slug or ID within shortcode.
UPDATE - Updating Ajax Load More menu icon.
UPDATE - Updating license notifications on License page.
UPDATE - Removed blocking of SEO add-on when using multiple instances of the plugin on the same page. Users must ensure to only set seo="true" on one element if using multiple instances of Ajax load More.
UPDATE - Updated default repeater template display on admin screen if Local Template is in use. Users will now see the contents on the Local Template but will not be able to modify the template directly.
FIX - URL/paging issue with Polylang and SEO plugins.
FIX - Updated code used to split pages with Search Engine Optimization add-on.
SECURITY - Security fix for Custom Repeaters and Theme Repeaters include file path.
FIX - Removed duplicate #ajax-load-more id's being generated when using multiple instances. #ajax-load-more will now only be attached to the 1st instance of the shortcode - please update your CSS if you are targeting the #ajax-load-more ID.
FIX - Updated code used to split pages with Search Engine Optimization add-on.
FIX - Issue where SEO License key input was not displaying for some users.
FIX - Issue for double popstate trigger with Paging + SEO add-on.
UPDATE - Various code improvements.
NEW - Adding functionality for upcoming Call to Actions add-on.
SECURITY - Security fix for posts_status parameter. posts_status is now only available for logged in (admin) users. Non logged in users will only have access to view content in a 'publish' state.
UPDATE - Added support for preloading comments with the Comments and Preloaded add-ons.
NEW - Adding a set of filter hooks to enable users to hook into Ajax Load More to insert or modify data. See https://connekthq.com/plugins/ajax-load-more/docs/filter-hooks/ for more information.
FIX - Update for ALM settings screen - layout was broken with WP 4.4 release.
NEW - Adding new functionality to allow for loading of local default repeater template. Users can create a /alm_templates directory within their current theme and add default.php. If default.php is present it will be loaded before repeater template shipped with Ajax Load More.
NEW - Adding multiple taxonomy support - you can now query WordPress by up to 3 unique taxonomy queries.
NEW - Adding taxonomy_relation shortcode parameter.
FIX - Fixed JS error in shortcode builder popup.
FIX - Fix for issue with '<' and '<=' Custom Field operators, WP was rendering these tags as HTML (https://github.com/dcooney/wordpress-ajax-load-more/issues/98). Users can now enter 'lessthan' and 'lessthanequalto' to fix this issue.
UPDATE - Changing 'exclude' shortcode parameter name to be 'post_not_in' to follow WordPress naming conventions. 'exclude' will continue to work along side 'post_not_in'.
SECURITY - Due to a security scare with non-admin logged-in users I have updated all admin-ajax.php calls to verify nonce variables (wp_verify_nonce) and check user capabilities(edit_theme_options).
NEW - Adding required support and functionality for new Previous Post add-on - https://connekthq.com/plugins/ajax-load-more/add-ons/previous-post/
NEW - Adding a set of filters to inject content into ALM containers.
NEW - Adding 'container_type' shortcode parameter that allows for override of the global Container Type.
NEW - Adding 'pause_override' shortcode parameter that will allow scrolling to override the Pause parameter and trigger the loading of posts on scroll.
NEW - Adding 'meta_type' shortcode parameter that will allow for specification of a custom field type..
UPDATE - Added unique id(classname/data-id) to each instance of ajax load more - this will allow for targeting of specific instances from outside elements.
FIX - Fixed JS issue with Paging add-on + SEO add-on URLs.
NEW - Adding multisite support for Repeater Templates - if using a multisite, please deactivate then re-activate Ajax Load More.
NEW - Completely rebuilt update script for repeater templates to be more efficient and integrate with multisite installations.
UPDATE - Split up ALM setting fields into Global and Admin settings for increased usability.
NEW - Added new setting field for Error Reporting - User can now choose to display error notices regarding repeater template updating in the browser console.
MILESTONE - This 2.7.0 release includes major updates to ALM core functionality to allow for new features and various fixes.
NEW - Added multiple meta query functionality to the shortcode builder - users can now query by up to 4 custom fields.
NEW - Adding 'css_classes' parameter - users can now add container css classes directly within the shortcode builder as well as the setting screen.
NEW - Adding Paging add-on functionality.
NEW - Adding secondary query to return total posts for entire ALM query.
NEW - Adding licensing section for add-on license key activation.
FIX - Fixed issue with boolean vs string variables in core JS.
FIX - Fixed bug with the 'custom_args' parameter that was blocking arrays from being passed. Please check the documentation for the updated 'custom_args' syntax for multiple values.
NEW - Added new shortcode parameter 'custom_args' which will let users pass custom query params. e.g. custom_args="order:custom_meta_key, tag_slug__and:array(design,development)"
NEW - Added setting for implementing WP nonce for added security of Ajax functionality.
Update - Removed WP nonce for ALM query as this was causing issues with various caching plugins.
FIX - Dynamic population of category, tag and author content within Shortcode Builder - now this actually works as requested and no database queries happen if this setting is true.
FIX - Small issue with new destory_after parameter in core js.