Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Ajax Load More - Infinite Scroll

The ultimate solution to add infinite scroll functionality to your website

2.13.1 - December 5, 2016

  • NEW - Adding support for multiple instances of filtering.
  • NEW - Adding caching support for initial requests if page > 1. e.g. /page/10/ will now be cached and served to visitors as page-1-10.html
  • NEW - Added new filter for creating and listing custom layouts within repeater template admin (docs coming soon).
  • Update - Adding Post Type 'any' to shortcode builder.
  • Update - Updating max_pages parameter to be '0' as the plugin default.
  • Update - Various UI updates and enhancements.
  • FIX - Updated post_status parameter to support inherit for attachments.
  • FIX - Undefined variables in Shortcode Builder pop up.
  • FIX - Shortcode Builder UI and copy updates.
  • FIX - JS error on Examples page within plugin.
  • FIX - JS errors on with ALM Cache admin page.
  • FIX - Support for preserving querystring parameters in Previous Post add-on. - November 10, 2016

  • FIX - almEmpty() callback function not firing because of updated return value of empty query.
  • FIX - almdebug() filter causing 'Missing argument 2 for apply_filters()' error for some users.
  • FIX - Shortcode builder UI heading update.

2.13.0 - November 6, 2016

  • 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.

2.12.0 - September 5, 2016

  • 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.

2.11.2 - August 4, 2016

  • 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.

2.11.1 - May 30, 2016

  • 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.
  • Shortcode Builder UI improvements

2.11.0 - May 25, 2016

  • NEW - Adding required functionality for the new REST API add-on.
  • FIX - Fixed url parsing issue with the ALM base URL and Blog page url. This was affecting SEO add-on users.
  • UPDATE - WP_Query Performance improvements.
  • UPDATE - Various UI updates/tweaks.

2.10.1 - May 8, 2016

  • NEW - Users can now load a custom version of ajax-load-more.css from {/alm} folder in current theme directory.
  • NEW - Class definitions for alm shortcode and css enqueue script. More to come.
  • FIX - Removed unnecessary ob_end_clean() function from alm_query_posts() that was causing php notices for some users.
  • FIX - Fixed meta_query issue with EXISTS and NOT EXISTS meta_compare values.
  • FIX - Issue with meta_key parameter and orderby.
  • UPDATE - Updated $.fn.almUpdateCurrentPage() function to allow for multiple instances of Paging.
  • UPDATE - Various Admin UI bug fixes/enhancements. - April 11, 2016

  • FIX - JavaScript fix for 'Unexpected token' error is Safari and IE with alm.AjaxLoadMore.success() function.
  • FIX - Fixed canonical URL issue on home/front pages.

2.10.0 - April 10, 2016

  • NEW - Converted the Ajax return content type from HTML to JSON.
  • NEW - Adding transition_speed shortcode parameter.
  • NEW - Added alm_button_label filter to modify default button text.
  • NEW - Added new canonical URL builder for pages and archives - this function helps build legitimate URLs for the Search Engine Optimization add-on.
  • FIX - Fixed issue with undefined post slug on archive pages.
  • UPDATE - Performance improvements and code reduction.
  • UPGRADE NOTICE - When updating to 2.10 you must also update SEO and Comments add-ons.


  • NEW - Adding support for new Layouts add-on.
  • NEW - Adding support for table container type.
  • NEW - Adding new 'transition_container' shortcode parameter to allow for removal of the .alm-reveal div in the ajax output.
  • FIX - Fixed issue with the display of Previous Post taxonomy selection in Shortcode Builder.
  • FIX - Fixed issue with noscript navigation for preloaded and seo add-ons.
  • FIX - Fixed issue with hiding of Button Classes setting if 'Disable CSS' is checked.
  • FIX - Fixed bug with custom repeater fallback function.
  • FIX - Fixed issue with almDone function firing before a the button text reset function.
  • UPDATE - Various UI/UX enhancments.
  • UPDATE - Adding cache support for Theme Repeaters add-on.
  • UPDATE - Updating add-on activation script from wp_remote_get to wp_remote_post.



  • 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'.


  • NEW - Adding new loading styles and button types.
  • NEW - Adding new 'button_loading_label' parameter allowing users to change button text while loading content.
  • NEW - Adding required support and functionality for new Comments add-on - https://connekthq.com/plugins/ajax-load-more/add-ons/comments/
  • UPDATE - Updating JS functions for release of Previous Post v1.1.
  • UPDATE - Various admin enhancements and removing deprecated code.
  • UPDATE - removing default link color in ajax-load-more.css.


  • PERFORMANCE - Updating ALM core to enqueue Ajax Load More js only when shortcode is present on screen.
  • NEW - Adding 'canonical-url' data attribute to ALM plugin wrapper - this will be used by various functions throughout the core plugin and add-ons.
  • NEW - Adding new alm-thumbnail image size.
  • NEW - Adding required functionality for upcoming Layouts add-on.
  • NEW - To increase SEO and crawler access we added a paging navigation when seo and preloaded are both 'true'.
  • FIX - Fixed issue with almDone() function not firing in certain instances.
  • UPDATE - Rebuilt License activation screen to use ajax and alert users when licenses run out.
  • UPDATE - Various admin UI enhancements.


  • FIX - Fixed issue with the passing of ALM template variables to Theme Repeaters add-on.
  • FIX - Fixed issue shortcode builder returning an error when loading custom taxonomies.
  • NEW - Added new almDone() function that is dispatched after all posts have been loaded. $.fn.almDone(alm)

  • 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).

  • FIX - Update for issue where Ajax Load More CSS would load even if unchecked.

  • UPDATE - Adding required support/update for Language Pack translations (https://translate.wordpress.org/)
  • FIX - Update to automatically set posts_per_page to 1 if Previous Post add-on is in use.
  • FIX - Various core JS updates/improvements
  • FIX - Licenses not showing for Theme Repeaters and Previous Post add-ons
  • UPDATE - Various admin UI updates and enhancements.


  • 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.
  • UPDATE - Various admin fixes and updates.


  • NEW - Adding required support and functionality for new Theme Repeaters add-on - https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/
  • NEW - Added new shortcode parameter 'images_loaded' which will allow you to wait for all images to load before displaying ajax loaded content.
  • UPDATE - General admin UI enhancements to settings screen.


  • 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.


  • FIX - Fixed issue for querying by meta_key - users are not required to enter a meta_value to query by meta_key.


  • 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.

  • FIX - Fixed bug with Preloaded + SEO and scrolling to current page in core Ajax Load More JS.
  • UPDATE - Moved SEO and Cache add-on settings and controls from ALM core to SEO core.
  • NEW - Added Google Analytics Pageview support to SEO add-on.
  • UPDATE - Various admin UI improvements.

  • FIX - Fixed/updated error handling of repeater templates. Errors are now being reported in the browser console and do not interfere with the WP admin.
  • FIX - Fixed javascript issue with shorthand if statements and script concatenation.
  • REMOVED - Legacy code for creating 'alias' table columns.


  • 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.
  • Update - Various UI improvements and enhancements


  • NEW - Adding new ALM setting to move user to top of page on window load.
  • FIX - Fixed issue with Cache + SEO where initial user might end up caching multiple pages in a single query if the page requested was greater than 1.
  • FIX - Fix for scrolling to load posts when max_pages = 0 - issue was introduced in release 2.6.1


  • NEW - Public function, almFilter(type, speed, data) function which will allow for filtering/resetting of a ajax load more object.
  • NEW - Callback function, almFilterComplete() function which is dispatched after a successful almFilter() event.
  • NEW - Adding 'post__in' parameter. You can now curate queries based on a comma separated list of post ids.
  • UPDATE - Updating data() variables in ajax-load-more.js to allow for manipulation via JS.
  • FIX - Fix for cache parameter always true in ajax-load-more.js.


  • NEW - Adding scroll_distance parameter - easily adjust the distance from the bottom of the page that will trigger loading of posts.
  • NEW - Adding required functionality for Caching Add-on.
  • NEW - Adding new almEmpty function triggered if zero results were returned.
  • FIX - Disabled in previous versions, Preloaded and SEO can now work together to produce SEO URLs.
  • UPDATE - Performance updates, various UI improvements.


  • 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.
  • UPDATE - Updated language .pot file.
  • UPDATE - Small admin interface tweaks.


  • NEW - Adding query by multiple categories and tags.
  • NEW - Adding required functionality for new Preloaded add-on - preload posts before any ajax queries kick in.
  • NEW - Adding 'destroy_after' parameter to completely remove Ajax Load More functionality after 'n' number of pages.
  • NEW - Adding setting to disable dynamic population of category, tag and author content within shortcode builder.
  • NEW - Adding functionality to exclude categories('category__not_in').
  • NEW - Adding functionality to exclude tags('tag__not_in').
  • NEW - Adding option to copy repeater content and update templates from database directly on the Repeater Template settings page.
  • NEW - Query by multiple meta query values e.g "cat, dog, fish".
  • FIX - Issue with simultaneous query by category and custom taxonomy.
  • Fix - Issue for SEO add-on when pause = "true". ALM will now set pause to false if page > 1 when using the SEO add-on.


  • Adding date query parameters - users can now query by day, month and year.
  • Admin UX improvements including sticky navigation in shortcode builder.
  • Updated ALM examples page with date query and improved archive.php.
  • Fixed PHP warning related to hiding Ajax Load More button in editor and Custom Repeaters v1.
  • Added language support for Polylang and qTranslate plugins.


  • Urgent fix for array_push error


  • Adding required functionality for ALM SEO add-on (https://connekthq.com/plugins/ajax-load-more/seo/)
  • Adding variables for counting items within the ALM query - $alm_page & $alm_item are now accessible within repeater templates.
  • Remove plugin activation notification due to error fetching column names.
  • Fixed issue with orderby = "rand", ALM now excludes all previously queried post ids.
  • fixed JS error on ALM setting pages.
  • Fixed issue with hiding TinyMCE button that was affecting other plugins.
  • General plugin improvements and enhancements.


  • Adding required functionality for the NEW Ajax Load More Custom Repeaters v2 add-on - https://connekthq.com/plugins/ajax-load-more/custom-repeaters/
  • Improved debug messaging for Ajax Load More and Add-Ons.
  • Adding fix for ordering by meta value.
  • Admin stying updates.
  • Updated FAQs
  • Fix meta_query query and orderby meta value


  • Fix for query by Standard post format.
  • Fix for Shortcode Builder where Custom Taxonomies were not building correctly.


  • Bug fix for meta_query parameters.
  • Further improvements to WordPress query arguments from 2.2.4.
  • Update plugin .pot file.


  • Urgent fix for category queries.


  • Improving WordPress query arguments.
  • Removing empty query parameters which were conflicting with various hooks and filters reported by ALM users.
  • Updated admin notifications.
  • Added plugin action links to plugin listing.


  • Adding query by Custom Field value(Meta Query).
  • Improved error handling for easier debugging.
  • Fixed issue with pause = "true" and scroll = "true". Pause should always take precendence over scroll.
  • Code clean up, improving overall quality for easier merges and updates.


  • Adding callback function that is dispatched once a successful ajax call is made. $.fn.almComplete(alm).
  • Adding WPML support for ICL_LANGUAGE_CODE - A 'lang' atributed is added dynamically if WPML is installed.
  • Making JS variables and functions publically accessible.


  • Fixed php notice/warning that would trigger if WP_DEBUG was enabled.
  • Adding minified core JS.
  • Adding global option to disable shortcode button in the content editor.
  • Adding touchmove js event for faster scroll detection on mobile devices.
  • Code clean up, removing unused functions.


  • Adding Post Format query.
  • Adding syntax highlighting for Repeater Templates with CodeMirror (https://codemirror.net/).
  • Adding custom alias integration for Repeater Templates (Only for the custom repeater add-on).
  • Adding button preview on settings page.
  • Adding 'White' button style.
  • Updated .pot language file.


  • Fixed issue causing the Ajax Load More menu to not show on some admin screen do to location conflict with another plugin.
  • Adding column 'alias' to wp_alm table to allow for repeater alias (Only for the custom repeater add-on).
  • Remove legacy column 'test' from wp_alm table.
  • Updating styles in admin.css.


  • Adding ability to have multiple instances of script on a single page
  • Adding global class name('.ajax-load-more-wrap') to Ajax Load More container. I plan to remove the #ajax-load-more naming convention in upcoming releases, but need time for users to update their code.
  • Small styling enhancements to admin panel.
  • Updated .pot language file.


  • Adding Order and Orderby query parameters, you can now set these values within the Shortcode Builder
  • Updating core javascript code
  • Fixed bug with taxonomy query selectors


  • Adding custom taxonomy query - select from a list of custom taxonomies then select terms and operator
  • Fixed path to repeater file in admin functions


  • Fixed issue with loading of admin javascript and css on pages other than Ajax Load More


  • Fixed issue with author query


  • Fixed issue where loading button was not turning off when posts remaining were zero


  • Adding add_filter('widget_text', 'do_shortcode');


  • Removed 2 filters for widget_text which were casuing issues in sidebars


  • Updating default repeater template to include the_permalink()


  • Fixing issue with duplicate column names in database.


  • removed upgrader_process_complete as it was unreliable. Replaced with admin_init to check whether plugin has been updated.


  • Fixed jQuery conflict javascript error


  • Fixing issue with scrolling of posts


  • Updating db table structure
  • Adding upgrader_process_complete checker


  • Adding plugin version to wpdb table.
  • Removed legacy repeater code.


  • Fixed issue with WP auto updates overriding the default repeater. Please deactivate and then activate your plugin.


  • Fixed issue with tinymce conflict

2.0.1 - June 20, 2014

  • Ajax Load More

Requires: 3.6 or higher
Compatible up to: 4.7.1
Last Updated: 1 month ago
Active Installs: 20,000+


5 out of 5 stars


35 of 57 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,3,3 100,1,1 100,2,2 100,1,1
50,2,1 100,1,1
100,1,1 100,1,1 100,2,2 100,2,2 67,3,2
100,3,3 100,1,1 100,2,2
100,1,1 100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,1,1
100,1,1 100,3,3
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1