Just another contact form plugin. Simple but flexible.
About WordPress Infinite Scroll – Ajax Load More
Ajax Load More is a WordPress plugin that allows you to implement infinite scroll functionality on your website. You can customize the queries and parameters to control what content is loaded and displayed. It is compatible with popular eCommerce plugins such as WooCommerce and Easy Digital Downloads.Screenshots





Frequently asked questions
What is Ajax Load More?
What are the features of Ajax Load More?
What are the add-ons available for Ajax Load More?
What are the content types supported by Ajax Load More?
What are the parameters accepted by Ajax Load More?
Changelog
7.3.1 – February 12, 2025
- UPDATE: Updated new Date Query feature to parse compare value. This was previously not functioning as expected. e.g. `[ajax_load_more date_query=”2024-01-01;2020-01-01″ date_query_compare=”>=;<=” date_query_relation=”OR”]
- NEW: Added date_query_column parameter to allow for querying the post_date or post_modified column. e.g. `[ajax_load_more date_query=”2020-01-01″ date_query_column=”post_modified”]
- HOTFIX: Fixed issue with conflicting
wp-block-queryclass the new Query Loop add-on.
7.3.0 – February 6, 2025
- NEW: Added Date Query support with
date_query,date_query_beforeanddate_query_afterparameters. - UPDATE: Various admin UI/UX updates and code cleanup throughout plugin.
7.2.0.1 – January 22, 2025
- HOTFIX: Fixed potential issue with the parsing of
meta_queryandtax_queryparameters when using Preloaded add-on.
7.2.0 – January 17, 2025
- NEW: Added required updates for the new Query Loop add-on.
- NEW: Added new
alm_single_post_querystringhook to remove the querystring from Single Post add-on URLs. - NEW: Added preview functionality for previewing an ALM instance while building a shortcode.
- NEW: Added new
templateparameter to the core ALM shortcode. This new parameter will normalize the template selection and replace therepeaterandtheme_repeaterparameters. - NEW: Added new ALM core parameters,
urls,prev_button_label,prev_button_loading_label, andprev_button_done_label. These new parameters can be used in the near future with various add-ons. - UPDATE: Various admin UI/UX updates throughout plugin.
- FIX: Fixed issue with Users extension showing mising license notice in admin.
7.1.4 – December 4, 2024
- UPDATE: Updated Axios HTTP library to latest version.
- UPDATE: Added feature to re-save default Repeater Template if template was deleted from the filesystem.
- UDPATE: Modified the
almdb columns to match upcoming Templates add-on requirements. - UPDATE: Added functionality required for Elementor Add-on update to support loading previous posts on paged results.
- UPDATE: Started integration with Query Loop block and Ajax Load More.
- FIX: Fixed z-index issue with ALM navigation in WP admin.
- FIX: Added fix for
load_plugin_textdomainphp notice. - FIX: Fixed issue with Preloaded amount being 0 and no post remaining.
- FIX: Fixed issue with Comments add-on and allowing for a default post ID.
- UPDATE: Code cleanup and other minor bug fixes.
- UPDATE: Various admin UI/UX updates.
7.1.3 – October 1, 2024
- UPDATE: Various security fixes.
7.1.2 – May 30, 2024
- FIX: Fixed issue with full article loading in Next Page add-on.
- UPDATE: Various security fixes.
7.1.1 – May 10, 2024
- UPDATE: Added required functionality and support to allow for Next Page add-on to be used with Single Posts for full article loading with split pages.
- UPDATE: Various UI/UX improvements for the plugin admin.
7.1.0.1 – March 21, 2024
- HOTFIX: Hotfix for missing
css_classesparameter in7.1.0release.
7.1.0 – March 21, 2024
- NEW: Added Ajax Load More block for the WordPress Block Editor. ALM instances are now able to be rendered inside the Block Editor.
- NEW: Added Ajax Load More Filters block for the WordPress Block Editor. When activated, ALM Filters can be rendered inside the Block Editor using the Filters block.
- NEW: Added new
wrapper_classesparameter that injects classnames onto the top levelajax-load-more-wrapcontainer. - NEW: Added new
alm_user_rolefilter to allow developers to change the user role required to access the Ajax Load More admin. Default isedit_theme_options. - UPDATE: Various security fixes with regards to accessing layouts and directory paths.
- UPDATE: Added support for caching Filter add-on facets with the Cache add-on.
- FIX: Fixed bug with Next Page add-on disabling the Load More button early when there were pages remaining.
- UDPATE: Various UI/UX updates throughout plugin admin and frontend.
7.0.3 – February 15, 2024
- FIX: Added fix for Paging add-on scrolling to top of listing on initial page load when
paging_scrollwastrue. - FIX: Fixed issue with undefined
post_countwhen loading Ajax Load More with Ajax/HTTP request.
7.0.2 – February 8, 2024
- NEW: Added ‘alm_licensing_sslverify’ hook to allow users to disable SSL verification when checking for updates.
- NEW: Added new Paging add-on parameter
paging_container_classesused for adding CSS classes to the paging HTML container. - NEW: Added support for Elementor Loop Grid widget when using Elementor add-on.
- FIX: Fixed issue with Elementor add-on potentially not disabling the Load More button when no content remains.
- SECURITY: Various security fixes for admin level plugin settings.
7.0.1 – January 23, 2024
- HOTFIX: Fixed issue with Filters add-on that would appear when using the Paging add-on. Filters would remain disabled after interacting with a filter due to a missing callback function.
- HOTFIX: Fixed issue with display of Single Posts data when being used with Elementor.
7.0.0 – January 16, 2024
UPGRADE NOTICE:
This Ajax Load More update may introduce breaking changes for core plugin CSS styling and add-on functionality.
Major changes in this release includes the removal of the transition_container parameter which affects the rendered HTML of the plugin by removing the .alm-reveal div used to display the Ajax loaded content.
If you are using the Filters, SEO or Paging add-ons please be sure to update these add-ons after updating the core Ajax Load More plugin.
- NEW: Removed
alm-revealdiv and transition container. This affects all add-ons and core plugin as there is no more a transition container appended for each load more action. - NEW: Added
transition_delayparameter that allows for staggering the display of each post incrementally as content is loaded. - NEW: Added new
alm-is-loadedclass that is added to the main ALM container after the initial ajax request. - UPDATE: Improved JavaScript code quality and readability which is key for long term maintenance and sustainability of ALM.
- UPDATE: Improved content loading for infinite scroll and when using Paging add-on.
- UPDATE: Improved Masonry loading and transition timing.
- UPDATE: Removed
transition_container_classesparameter. - UPDATE: Removed legacy browser polyfills and helper functions to lower the overall compiled JS size.
- UPDATE: Updated plugin installer class.
- FIX: Fixed issue with admin_footer_text hook not returning but echoing text content.
- FIX: Fixed issue with Single Posts add-on preview function. This was no longer working but it functional again.
6.2.0.3 – November 6, 2023
*HOTFIX: Fixed issue with fatal i18n error in core Ajax Load More Elementor widget causing issues with loading posts on edit screens.
*UPDATE: Improved Cache add-on checker function for increased reliability while fetching cache.
6.2.0.2 – November 3, 2023
- FIX: Fixed issue with paging URLs when using Elementor add-on with WooCommerce products and WP archive templates.
- FIX: Fixed issue with Cache and Paging add-ons throwing an error on initial page load and causing posts not to load..
- NEW: Added
alm_restapi_urlhook to update the URL base REST API calls.
add_filter( 'alm_restapi_url', function(){
return 'https://mywebsite.com';
});
6.2.0.1 – October 20, 2023
- HOTFIX: Fixed issue with speed variable when loading Ajax Load More in a SPA application or via HTTP request.
6.2.0 – September 27, 2023
- UPDATE: Added support for GA4 integration across various add-ons.
- UPDATE: Updated Shortcode builder to accept new plugin parameters for Next Page add-on.
- UPDATE: Code cleanup and organization.
- FIX: Fixed issue with encoding of Canonical URL potentially causing http errors in Ajax request.
- FIX: Fixed various issues in Shortcode Builder.
- FIX: Fixed issue with unclosed HTML element when using seo_offset parameter.
- FIX: Fixed issue with default ALM search parameter being encoded incorrectly.
- FIX: Fixed issue with seo_offset parameter not displaying results due to JS error.
- FIX: Various security fixes and patches.
6.1.0.1 – August 8, 2023
- HOTFIX: Fixed issue with querying data using
custom_argsparameter. - HOTFIX: Fixed issue with querying data using the
varsparameter.
6.1.0 – July 27, 2023
UPGRADE NOTICE:
This ALM update adds a new sort_key parameter that is used for ordering results by custom field values.
Users who were previously using meta_key for custom field ordering will need to update their shortcodes as this update is NOT backwards compatible.
- NEW: Added new
sort_keyparameter to make it easier to sort query results by custom field. - NEW: Admin interface refresh.
- FIX: Fixed issue with Canonical URL not being set correctly.
- FIX: Fixed issue with Nextpage and Paging add-on not working in some instances.
- FIX: Added fix for frontpage canonical URL fetching returning incorrect URL.
- UPDATE: Updated ALM build process to use wp-scripts.
- UPDATE: Code cleanup and organization.
6.0.2 – June 27, 2023
- HOTFIX: Fixed issue with Single Posts add-on not receiving correct post ID and caused issues with loading the proper post.
- FIX: Attempted compatibility fix for WPML and Single Posts add-on loading incorrect language because of WPML language cookies.
- Fix: Fixed issue with broken Results Text
6.0.1 – June 13, 2023
- HOTFIX: Fixed issue with Shortcode Builder JavaScript error causing issues in admin.
- HOTFIX: Fixed issue with posts_per_page=”-1″ unintentionally not loading any posts.
6.0.0 – June 11, 2023
- NOTICE: Ajax Load More 6.0 is a major update and includes a breaking changes with regards to the Cache add-on. Please review the information below before updating.
-
NOTICE: Cache add-on < 2.0 is no longer supported by Ajax Load More. Please update to the latest version of the add-on to continue using the Cache functionality.
-
NEW: Adding required functionality for the Cache 2.0 update. This introduces a new cache structure using MD5 hash for many cache URLs.
- UPDATE: Core ALM JavaScript refactoring to stremline content loading using async/await and promises.
- UPDATE: Updated WooCommerce and Elementor add-on functionality to load content in a normalized manner.
- UPDATE: Code refactoring, cleanup and overall improvements across the Ajax Load More.
- UPDATE: Added support for ACF extension and row index.
- FIX: Fixed issue with Elementor and Cache add-ons not working in some instances.
- FIX: Fixed issue with WooCommerce and Cache add-ons not working in some instances.
- FIX: Fixed issue with ACF extension and Paging add-on not getting correct amount of posts loaded.
5.6.0.5 – April 3, 2023
- HOTFIX: Fixed issue with
taxonomy_relationparameter resolving toAND.
5.6.0.4 – March 8, 2023
- UPDATE: Restricting ALM ID to contain alphanumeric characters, dashes and underscores only.
- FIX: Fixed issue with Filters target parameter and the security updates in ALM 5.6.0.3
- FIX: Fix for
total_postsvalue in newgetTotals()method.
5.6.0.3 – February 24, 2023
- NEW: Add new
getTotalRemainingpublic JS function that returns the total number of posts remaining to be loaded by ALM instance ID. See Docs - Update: Added support for disabling Images Loaded functionality in WooCommerce add-on.
- Update: Cleaned up localized post count variables to make it easier to access across the plugin.
- UPDATE: Various code cleanup and refactoring.
- FIX: Added further security fixes to shortcode attribute rendering and escaping params.
5.6.0.2 – February 17, 2023
- HOTFIX: Fixed error with compiled Ajax Load More JS causing issues with addons.
- FIX: Adding fix for new ALM JavaScript Object not rendering when using default ID.
5.6.0.1 – February 16, 2023
- FIX: Added security fix for missing escaping on various shortcode params.
- FIX: Added fix for new alm object parameter.
- UPDATE: HTML data-attribute clean up on rendered shortcode parameters.
5.6.0 – February 14, 2023
- NEW: Added new ajaxloadmore.click() public JS function to manually trigger an Ajax Load More load action from any element on the screen.
- NEW: Added support for new Filter facets in Filters add-on version 2.0.
- NEW: Added alm JavaScript object to the global
windowobject so accessing config params can be done in browser. e.g.window.ajax_load_more - NEW: Added support for
include_childrenwhen running a taxonomy query. - FIX: Fixed issue with localized data variables not working in Full Site Editing (FSE) themes.
- FIX: Fixed deprecation notice in Elementor widgetregistration
- UPDATE: Security fix for escaping data attributes in shortcode.
- UPDATE: Code cleanup.
5.5.5 – January 5, 2013
- UPDATE: Removed requirement of
transition_containerto be present when using Preloaded. - UPDATE: Various updates required for the new 2.0 Layouts add-on release.
- UPDATE: Removed legacy loading style
circlesand reference from the CSS. - NEW: Add new
getTotalPostsandgetPostsCountpublic JS functions that will return data from the localized window variables. - NEW: Added Ajax Load More plugin navigation to the header on all admin plugin pages.
- NEW: Added ability to add add-on licenses via wp-config constants. License activation will still need to be triggered from the License admin screen.
ALM_CACHE_LICENSE_KEY="xxxxxxxxxx" - NEW: Added
alm_mask_license_keysfilter to mask the license keys rendering in the WP admin.add_filter( 'alm_mask_license_keys', '__return_true' ); - UPDATE: Improved security of shortcode output by sanitizing all fields before render.
- UPDATE: Code cleanup and organization.
- FIX: Fixed various issue with Filters add-on and JS
<noscript/>fallback URLs when accessing paged results.
5.5.4.1 – August 24, 2022
- SECURITY: Patched and improved the data sanitization of some admin level operations.
5.5.4 – August 19, 2022
- 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_pagefilter to disable the posts_per_page protection in the SEO add-on. - NEW – Added new
alm_canonical_frontpage_trailing_slashfilter 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_postsfilter to allow future posts for non-logged in users.add_filter('alm_allow_future_posts', '__return_true'); - NEW – Added new
alm_button_wrap_classesfilter to add classes to the button wrapper element. - UPDATE: Added new
startandendvariables 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.
5.5.3 – June 24, 2022
- UPDATE: Added support for lazy loading images with Blocksy Pro theme.
- FIX: Fixed issue with potential xs scriptiing issue. report
5.5.2 – March 7, 2022
- NEW: Added
alm_ajaxurlfilter 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.
5.5.1 – January 10, 2022
- 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.
5.5.0.1 – September 15, 2021
- 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_DEBUGis enabled. - FIX – Attempted fix of license activation/deactivation problems some users have experienced.
- NEW – Added new
almWooCommerceLoadedandalmElementorLoadedJavaScript callback function that is triggered after a successful Ajax load when using the WooCommerce and Elementor add-ons.
5.5.0 – July 8, 2021
- UPDATE – Added support for image lazy loading in the WooCommece and Elementor add-ons. If a
data-srcattribute 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.
5.4.5 – April 20, 2021
- NEW – Added new
lazy_imagesparameter 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 – Updated fix for
postcount === undefinedJavaScript error when an issue occurs in a Repeater Template and the return data is corrupt. - UPDATE – Updated Masonry parameters and how they are passed and handled inside Ajax Load More.
- UPDATE – Admin UI/UX updates and refresh.
5.4.4 – March 31, 2021
- FIX – Fixed issue when filtering and updating the Load More button label.
- FIX – Fixed JS error when using
transition_container="false"andtransition="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.
5.4.3 – February 11, 2021
- FIX – Fixed JS error in shortcode builder when a site was missing tags or categories.
- FIX – Various admin UX/UX updates.
- UPDATE – Various fixes and updates to support PHP 8+.
- UPDATE – Added
['X-Requested-With'] = 'XMLHttpRequest'headers to each Ajax request so the server side functions can determine the type of request. - UPDATE – Updated
axioslibrary to latest version. - UPDATE – Varius admin updates.
5.4.2.1 – January 3, 2021
- HOTFIX – Fixed issue with non-functioning Shortcode Builder on sites without
tagsorcategoriespresent.
5.4.2 – January 3, 2021
- NEW – Added new
varsparameter that allows for passing data into Hooks and Repeater Templates.
Variables can accessed in Repeater Templates by accessing the$argsarray. This will pull in all query and variable parameters into an array.
[ajax_load_more vars=”var1:The value of var1 value;var2:The value for #2″]
echo $args[‘alm_vars’]; // Prints an array of key value pairs. See docs for more info. - 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.
5.4.1 – November 25, 2020
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
Paginationtype in the Posts Widget fromNumberstoNumbers + Previous/Nextor justPrevious/Next. - View the Guide if you require addtional information.
OTHER UPDATES
- NEW – Added new
scroll_directionparameter that allows for horizontal scrolling of Ajax Load More by settingscroll_direction="horizontal"in your shortcode oralm_rendermethod.- To horizontal scroll ALM you MUST use a
scroll_containeras seen in the Scroll Direction example. - Horizontal scroll uses a custom Flexbox layout for aligning items.
- RTL support will be coming soon.
- To horizontal scroll ALM you MUST use a
- 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.
5.4.0 – November 11, 2020
- NEW – Added required functionality for new Elementor add-on.
- NEW – Added new
alm_disable_noscriptfilter to disable all<noscript/>tags generated by ALM.add_filter( 'alm_disable_noscript', '__return_true' ); - UPDATE – Updated Pace.js library that is used for progress bar functionality.
5.3.0 – April 22, 2020
- NEW – Added support and core functionality for new WooCommerce add-on.
- NEW – Added new
White&Light Greyloading style. - NEW – Added loading preview toggle on ALM Settings screen.
- NEW – Added
alm_a11y_focusfilter to allow users to remove the focus accessibility feature of Ajax Load More. - UPDATE – Updated loading animations and various color combinations.
- UPDATE – Removed Comment Reply hotfix script as this fix was patched in WordPress core.
- FIX – Fixed issue with
almFilterCompletecallback not triggering. - FIX – Fixed issue with initial Paging add-on load not executing JavaScript in Repeater Templates.
5.2.0 – March 13, 2020
- NEW – Added new Table of Contents functionality. Table of Contents creates a pagination anchor links with every page loaded via Ajax Load More.
- NEW – Added support for new Term Query extension.
- UPDATE – Added support for Post Type archives in the Archives integration.
- UPDATE – Updated
.alm-listingCSS styles to better integrate with WooCommerce. - UPDATE – Added new Single Post implementation technique.
5.1.2 – June 24, 2019
- NEW – Added direct WooCommerce integration using the
woocommerceshortcode 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.
5.1.0.1 – May 7, 2019
- 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. ?
5.1.0 – May 7, 2019
MAJOR UPDATE NOTICE
Ajax Load More can now use the WordPress REST API as the default for Ajax requests – this includes all add-ons and extensions.
Users that wish to continue using admin-ajax.php for Ajax requests can disable the REST API from Ajax Load More > Settings > Global Settings in your WordPress admin.
For backwards compatibility, all users running WordPress version 4.7 or lower will default to using admin-ajax.php.
Please update all your add-ons and extensions when you update Ajax Load More as this release contains breaking changes.
What’s New in 5.1.0
- NEW – ALM now uses the REST API for all Ajax queries ?. This includes all add-ons and extensions.
- NEW – Added new Results Text display for displaying the current page number to users. view example
- NEW – Added custom JavaScript fix for reply links in Comment query causing page refresh.
- NEW – Added custom WP_Query parameter,
alm_querythat can be used in hooks/filters to modify the current query. - UPDATE – Added
ariaattributes and focus position after Ajax load to improve plugin accessibility. - FIX – Fixed issue with images not displaying in Safari when
transition_container="false"is set. - FIX – Fixed issue where Load More button was not hiding after
destory_aftervalue was reached. - FIX – Fixed issue with
meta_valueshortcode parameter. Passing zero as a value was returning false and not the number. - FIX – Fixed IE11 issue where filtering was not working with camelCase data attributes.
5.0.0 – March 8, 2019
…
4.0 – November 5, 2018
…
2.0 – June 20, 2014
- Ajax Load More
