Frequently Asked Questions

General Questions

Where can I download Ajax Load More?

Ajax Load More is available for download from the WordPress Plugin repository.

How do I use Ajax Load More on my website?

We have an Implementation Guide that can help you here… but essentially, it’s a 3 step process:

  1. Create your [ajax_load_more] shortcode
  2. Add the shortcode to your page via the WordPress content editor or directly within a theme template file.
  3. Load a page with your shortcode in place and watch Ajax Load More fetch your content.

Pro Tip: You can visit the Help section inside the Ajax Load More plugin for a visual guide.

What are my server requirements?

Your server must be able to read/write/create files. Ajax Load More creates the default repeater on plugin activation and in order to modify the output it is required to write to the file as well.

Does Ajax Load More have any JavaScript dependencies?

No, Ajax Load More 5.0 removed all JavaScript dependancies including jQuery.

How are Repeater Templates saved?

Repeater Template data is saved into a custom table in your WordPress database and written directly to a template (default.php) file within the WordPress uploads directory under the alm_templates folder.

Can Ajax Load More infinite scroll single posts?

Yes, with the help of the Single Posts add-on.

Is Ajax Load More compatible with WooCommerce?

Yes it is… it’s really simple with the WooCommerce add-on.

How can I restore the default Repeater Template?

Copy and paste the copy snippet below into your template.

What is the do_shortcode method of implementing Ajax Load More?

The do_shortcode method simply refers to the manner in which a shortcode is added to your website.

do_shortcode is a WordPress function that is used to allow shortcodes to be rendered in backend scripts and template files.

When implementing Ajax Load More on archive pages or custom page template you will most likely be required to use this method.

When adding a shortcode through the WordPress content editor to a simple page, you do not need do_shortcode and can use the shortcode as plain text.

Why are the post thumbnails an incorrect size in my Ajax Load More listing?

This issue appears most often because prior to activating Ajax Load More your theme was not resizing uploaded media to exactly 150×150 as required by the default repeater template.

When activated, Ajax Load More adds an image size of 150×150 (alm-thumbnail) to your theme so all future uploads will be resized into proper dimensions for display.

If updating the default repeater to use an image size already in your theme is not an option we recommend using the Regenerate Thumbnails plugin to batch process your previously uploaded media library images.

Note: Don’t forget to back up your site prior to running the thumbnail regeneration process.

Can I make a donation to the development of Ajax Load More?

Yes, please visit and you will be redirected to PayPal.

Can the default Repeater Template layout in a right-to-left (rtl) format?

Yes, Ajax Load More has a built-in right-to-left Repeater Template layout. To enable this, add css_classes=”rtl” to your shortcode.

Example Shortcode[ajax_load_more css_classes="rtl"]

How can I go back to the same spot I left off in the infinite scroll process?

The Search Engine Optimization can be used to send a visitor back to the same position they left off. This add-on creates paging URLs as you scroll and provide visitors the ability to use their back browser buttons to navigate back to their previous position.


Can Ajax Load More be used without the shortcode?

Yes, in Ajax Load More 4.1.0, I quietly released a new alm_render function that provides a method to initiate Ajax Load More without the use of a shortcode.

In the code sample above, I’m passing shortcode parameter values as an $args array.

Note: the parameter values must always be strings. Booleans and/or integer values may have undesired results.

Can I access the current $post object in a repeater?

Yes, to access the $post object you declare global $post; it at the start of the template.

How can I access custom fields in a repeater?

To access custom field values in a Repeater Template you must define global $post; at the top of the repeater and pass the $post->ID to the custom field function.

The example below illustrates how to access standard post meta fields as well as fields create with Advanced Custom Fields plugin.

Can I count posts within an Ajax Load More loop?

Yes, Ajax Load More provides various templates variables that are available for use within repeater templates. Please see the Variables section for more details.

Can I order posts by 'random'?

Yes, however not out of the box. Ordering by random requires a custom query to be run before the Ajax Load More shortcode – view  code sample.

How can I remove the alm-thumbnail image size?

You can remove the alm-thumbnail image size by adding the following snippet to your functions.php.

Can I display a message when there are no posts to display?

Yes, you can use the no_results_text parameter or the almEmpty callback function can be used to render a message to visitors.

How can I hide the 'Load More' button when no posts remain?

When zero posts remain in an Ajax Load More query the Load More button will receive a class of done – you can target this element with CSS to hide the button.

Can I disable Repeater Templates from being written to the database?

Yes, in your wp-config.php add the following ALM constant.

With this constant defined, ALM will not save data to your database.

Pro Tip: Use the Theme method to load Repeater Templates from your theme directory.

How can I access querystring parameters in a Repeater Template?

To access the browser querystring parameters inside a Repeater Template you must retrieve and parse the HTTP_REFERER variable of the global PHP $_SERVER array.

Is it possible to the change the directory where Repeater Templates are stored?

Yes, the Repeater Template directory path is able to be filtered using the alm_repeater_path hook seen below.


Custom JavaScript click events are not working in repeater templates

To trigger click events on dynamically created content you need to make use of the jQuery .on() event handler.

SyntaxError: Unexpected token A in JSON at position 0 at JSON.parse

This error can mean you have issues in your Repeater Template or your server is preventing access to wp-admin/admin-ajax.php.

If this error occurs, check the browser console > Network > Response and look for the following error:

Accessing author info via REST API is forbidden.

If this error is present, the All in One WP Security and Firewall plugin is blocking access. This can be resolved in the plugin settings, see this article for more information.

Uncaught TypeError: Cannot read property 'style' of undefined

This error usually means there is an extra (or missing) closing div (or other container type) in your Repeater Template. This can cause ALM to lose it’s reference to the load more button.

This error also appears for users running Smush and the Lazy Load component. There is an issue in that plugin that has yet to be resolved which causes display issues in Ajax Load More. The only way to fix the issue is to disable Smush Lazy Loading on the URLs that use Ajax Load More.

What would cause the entire screen to go white after an Ajax Load More query?

This white screen error may appear when a 3rd party JavaScript file calls a document.write function on the Ajax results.

If this is happening, check the Network tab in your browser console to see which scripts are being loaded after the Ajax request.


Do you offer add-on trials?

No, there is not a trial version of any Ajax Load More add-on or Pro available. Please note that there is a 14 day refund policy pending a support request that cannot be resolved. For more information please see the Terms and Conditions.

Can I activate my license for use on development/localhost and a production websites?

Yes, you can activate a license on both instances, however your development/localhost website must follow one of the following domain patterns.

  • localhost
  • *.dev
  • *.test
  • .*local
  • dev.*
  • staging.*
  • *

Can I upgrade to more sites after a purchase?

Yes, to increase/upgrade the number of available license activations, log into your account and then visit Purchase History > {Product} > View Licenses > Upgrades.

All license upgrades are discounted at a prorated charge where you only pay the difference.

Can I update my payment method after purchasing?

Yes, to update a payment method, log into your account and then visit Account > Subscriptions > Update Payment Method.

How can I print an invoice from an addon purchase?

Invoices can be saved and printed from the Account > Purchase History section on the website.

If you did not create an account, send us a support request and provide the email used when purchasing and we can set one up for you.

When updating an add-on there is an 'unauthorized' error. How can I solve this?

If you are receiving an unauthorized error when updating an add-on, please try deactivating and then re-activating the license(s) from Ajax Load More > Licenses. Once you’ve done that, try running the update again.

If the issue persists, send us a support request and provide each license key so we can confirm license activations.