WordPress Infinite Scroll – Ajax Load More - Version 2.8.2

Version Description

  • 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)
Download this release

Release Info

Developer dcooney
Plugin Icon 128x128 WordPress Infinite Scroll – Ajax Load More
Version 2.8.2
Comparing to
See all releases

Code changes from version 2.8.1.2 to 2.8.2

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://connekthq.com/donate/
4
  Tags: infinite scroll, scroll, infinite, lazy load, lazy loading, pagination, ajax pagination, ajax, ajax posts, ajax load posts, loop, query, dynamic, shortcode builder, wp_query, search, tags, category, post types, taxonomy, meta_query, archives, date, infinite scrolling
5
  Requires at least: 3.6
6
  Tested up to: 4.3.1
7
- Stable tag: 2.8.1.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,8 +12,12 @@ A powerful solution to add infinite scroll functionality to your website
12
 
13
  == Description ==
14
 
15
- Ajax Load More is a robust and intuitive solution for infinite scrolling WordPress posts and pages with Ajax.
16
- Build complex WordPress queries using the Ajax Load More custom shortcode builder and then add the shortcode to your pages via the content editor or directly into your template files.
 
 
 
 
17
 
18
 
19
  = Features =
@@ -120,7 +124,7 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
120
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/custom-repeaters/)
121
  >
122
  > #### Cache
123
- > The **[Cache](http://connekthq.com/plugins/ajax-load-more/cache/)** creates static HTML files of Ajax Load More requests then serves those static pages to your visitors without querying the database.<br />
124
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/cache/)
125
  >
126
  > #### Paging
@@ -146,23 +150,28 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
146
  ***
147
 
148
  = Callback Functions =
149
- The following functions are available to be dispatched by Ajax Load More.
150
- [Get More Information](https://connekthq.com/plugins/ajax-load-more/docs/callback-functions/)
151
 
152
 
153
- **Ajax Complete** - The almComplete() function is triggered after every *successful* ajax call made by Ajax Load More.
154
 
155
  $.fn.almComplete = function(alm){
156
  // Your on complete code goes here
157
  };
158
 
 
 
 
 
 
 
 
159
  **ALM Empty** - The almEmpty() function is triggered if there are zero results returned in the initial query.
160
 
161
  $.fn.almEmpty = function(alm){
162
  console.log('Sorry, but we could not locate any posts that matched your criteria.');
163
  };
164
-
165
- ***
166
  **ALM Filter Complete** - The almFilterComplete() function is triggered after a successful call to the public function almFilter().
167
 
168
  $.fn.almFilterComplete = function(){
@@ -173,7 +182,7 @@ The following functions are available to be dispatched by Ajax Load More.
173
 
174
  = Variables =
175
 
176
- Ajax Load More passes the following PHP variables to each repeater template - these template variables can help you style and transform your repeater templates.
177
 
178
  * **$alm_page** - Returns the current page number. 'echo $alm_page;'
179
  * **$alm_item** - Returns the current item number within your loop. 'echo $alm_item;'
@@ -193,7 +202,7 @@ Ajax Load More passes the following PHP variables to each repeater template - th
193
  ***
194
 
195
  = Website =
196
- http://connekthq.com/ajax-load-more/
197
 
198
  ***
199
 
@@ -278,9 +287,16 @@ How to install Ajax Load More.
278
  == Changelog ==
279
 
280
 
 
 
 
 
 
 
281
  = 2.8.1.2 =
282
  * 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).
283
 
 
284
  = 2.8.1.1 =
285
  * FIX - Update for issue where Ajax Load More CSS would load even if unchecked.
286
 
4
  Tags: infinite scroll, scroll, infinite, lazy load, lazy loading, pagination, ajax pagination, ajax, ajax posts, ajax load posts, loop, query, dynamic, shortcode builder, wp_query, search, tags, category, post types, taxonomy, meta_query, archives, date, infinite scrolling
5
  Requires at least: 3.6
6
  Tested up to: 4.3.1
7
+ Stable tag: 2.8.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ Ajax Load More is a robust and intuitive solution for infinite scrolling posts, custom post types and pages with Ajax powered queries.
16
+
17
+
18
+ Build complex WordPress queries using the Ajax Load More custom shortcode builder then add the shortcode to your pages via the content editor or directly into your template files.
19
+
20
+ **[Get More Information](http://connekthq.com/plugins/ajax-load-more/)**
21
 
22
 
23
  = Features =
124
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/custom-repeaters/)
125
  >
126
  > #### Cache
127
+ > The **[Cache](http://connekthq.com/plugins/ajax-load-more/cache/)** add-oncreates static HTML files of Ajax Load More requests then serves those static pages to your visitors without querying the database.<br />
128
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/cache/)
129
  >
130
  > #### Paging
150
  ***
151
 
152
  = Callback Functions =
153
+ The following [functions](https://connekthq.com/plugins/ajax-load-more/docs/callback-functions/) are available to be dispatched by Ajax Load More.
 
154
 
155
 
156
+ **ALM Complete** - The almComplete() function is triggered after every *successful* ajax call made by Ajax Load More.
157
 
158
  $.fn.almComplete = function(alm){
159
  // Your on complete code goes here
160
  };
161
 
162
+
163
+ **ALM Done** - The almDone() function is triggered after all posts have been loaded..
164
+
165
+ $.fn.almDone = function(alm){
166
+ console.log('All posts have been loaded!');
167
+ };
168
+
169
  **ALM Empty** - The almEmpty() function is triggered if there are zero results returned in the initial query.
170
 
171
  $.fn.almEmpty = function(alm){
172
  console.log('Sorry, but we could not locate any posts that matched your criteria.');
173
  };
174
+
 
175
  **ALM Filter Complete** - The almFilterComplete() function is triggered after a successful call to the public function almFilter().
176
 
177
  $.fn.almFilterComplete = function(){
182
 
183
  = Variables =
184
 
185
+ Ajax Load More passes the following PHP [variables](https://connekthq.com/plugins/ajax-load-more/docs/variables/) to each repeater template - these template variables can help you style and transform your repeater templates.
186
 
187
  * **$alm_page** - Returns the current page number. 'echo $alm_page;'
188
  * **$alm_item** - Returns the current item number within your loop. 'echo $alm_item;'
202
  ***
203
 
204
  = Website =
205
+ https://connekthq.com/ajax-load-more/
206
 
207
  ***
208
 
287
  == Changelog ==
288
 
289
 
290
+ = 2.8.2 =
291
+ * FIX - Fixed issue with the passing of ALM template variables to Theme Repeaters add-on.
292
+ * FIX - Fixed issue shortcode builder returning an error when loading custom taxonomies.
293
+ * NEW - Added new almDone() function that is dispatched after all posts have been loaded. $.fn.almDone(alm)
294
+
295
+
296
  = 2.8.1.2 =
297
  * 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).
298
 
299
+
300
  = 2.8.1.1 =
301
  * FIX - Update for issue where Ajax Load More CSS would load even if unchecked.
302
 
admin/admin.php CHANGED
@@ -240,6 +240,7 @@ function alm_admin_menu() {
240
  add_action( 'load-' . $alm_template_page, 'alm_load_admin_js' );
241
  add_action( 'load-' . $alm_template_page, 'alm_set_admin_nonce' );
242
  add_action( 'load-' . $alm_shortcode_page, 'alm_load_admin_js' );
 
243
  add_action( 'load-' . $alm_examples_page, 'alm_load_admin_js' );
244
  add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
245
  add_action( 'load-' . $alm_licenses_page, 'alm_load_admin_js' );
@@ -571,31 +572,37 @@ function alm_update_repeater(){
571
  */
572
 
573
  function alm_get_tax_terms(){
574
- $nonce = $_GET["nonce"];
575
- // Check our nonce, if they don't match then bounce!
576
- if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
577
- die('Get Bounced!');
578
 
579
- $taxonomy = (isset($_GET['taxonomy'])) ? $_GET['taxonomy'] : '';
580
- $tax_args = array(
581
- 'orderby' => 'name',
582
- 'order' => 'ASC',
583
- 'hide_empty' => false
584
- );
585
- $terms = get_terms($taxonomy, $tax_args);
586
- $returnVal = '';
587
- if ( !empty( $terms ) && !is_wp_error( $terms ) ){
588
- $returnVal .= '<ul>';
589
- foreach ( $terms as $term ) {
590
- //print_r($term);
591
- $returnVal .='<li><input type="checkbox" class="alm_element" name="tax-term-'.$term->slug.'" id="tax-term-'.$term->slug.'" data-type="'.$term->slug.'"><label for="tax-term-'.$term->slug.'">'.$term->name.'</label></li>';
 
 
 
 
 
 
 
 
 
 
 
 
592
  }
593
- $returnVal .= '</ul>';
594
- echo $returnVal;
595
- die();
596
- }else{
597
- echo "<p class='warning'>No terms exist within this taxonomy</p>";
598
- die();
599
  }
600
  }
601
 
240
  add_action( 'load-' . $alm_template_page, 'alm_load_admin_js' );
241
  add_action( 'load-' . $alm_template_page, 'alm_set_admin_nonce' );
242
  add_action( 'load-' . $alm_shortcode_page, 'alm_load_admin_js' );
243
+ add_action( 'load-' . $alm_shortcode_page, 'alm_set_admin_nonce' );
244
  add_action( 'load-' . $alm_examples_page, 'alm_load_admin_js' );
245
  add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
246
  add_action( 'load-' . $alm_licenses_page, 'alm_load_admin_js' );
572
  */
573
 
574
  function alm_get_tax_terms(){
575
+ if (current_user_can( 'edit_theme_options' )){
 
 
 
576
 
577
+ $nonce = $_GET["nonce"];
578
+ // Check our nonce, if they don't match then bounce!
579
+ if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
580
+ die('Get Bounced!');
581
+
582
+ $taxonomy = (isset($_GET['taxonomy'])) ? $_GET['taxonomy'] : '';
583
+ $tax_args = array(
584
+ 'orderby' => 'name',
585
+ 'order' => 'ASC',
586
+ 'hide_empty' => false
587
+ );
588
+ $terms = get_terms($taxonomy, $tax_args);
589
+ $returnVal = '';
590
+ if ( !empty( $terms ) && !is_wp_error( $terms ) ){
591
+ $returnVal .= '<ul>';
592
+ foreach ( $terms as $term ) {
593
+ //print_r($term);
594
+ $returnVal .='<li><input type="checkbox" class="alm_element" name="tax-term-'.$term->slug.'" id="tax-term-'.$term->slug.'" data-type="'.$term->slug.'"><label for="tax-term-'.$term->slug.'">'.$term->name.'</label></li>';
595
+ }
596
+ $returnVal .= '</ul>';
597
+ echo $returnVal;
598
+ die();
599
+ }else{
600
+ echo "<p class='warning'>No terms exist within this taxonomy</p>";
601
+ die();
602
  }
603
+
604
+ } else {
605
+ echo __('You don\'t belong here.', 'ajax-load-more');
 
 
 
606
  }
607
  }
608
 
ajax-load-more.php CHANGED
@@ -7,14 +7,14 @@ Text Domain: ajax-load-more
7
  Author: Darren Cooney
8
  Twitter: @KaptonKaos
9
  Author URI: http://connekthq.com
10
- Version: 2.8.1.2
11
  License: GPL
12
  Copyright: Darren Cooney & Connekt Media
13
  */
14
 
15
 
16
- define( 'ALM_VERSION', '2.8.1.2' );
17
- define( 'ALM_RELEASE', 'October 2, 2015' );
18
  define( 'ALM_STORE_URL', 'https://connekthq.com' );
19
 
20
 
@@ -851,7 +851,7 @@ if( !class_exists('AjaxLoadMore') ):
851
  $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
852
 
853
  if($theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
854
- do_action('alm_get_theme_repeater', $theme_repeater);
855
  }else{
856
  include( alm_get_current_repeater($repeater, $type) );//Include repeater template
857
  }
7
  Author: Darren Cooney
8
  Twitter: @KaptonKaos
9
  Author URI: http://connekthq.com
10
+ Version: 2.8.2
11
  License: GPL
12
  Copyright: Darren Cooney & Connekt Media
13
  */
14
 
15
 
16
+ define( 'ALM_VERSION', '2.8.2' );
17
+ define( 'ALM_RELEASE', 'October 15, 2015' );
18
  define( 'ALM_STORE_URL', 'https://connekthq.com' );
19
 
20
 
851
  $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
852
 
853
  if($theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
854
+ do_action('alm_get_theme_repeater', $theme_repeater, $alm_found_posts, $alm_page, $alm_item);
855
  }else{
856
  include( alm_get_current_repeater($repeater, $type) );//Include repeater template
857
  }
core/js/ajax-load-more.js CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Ajax Load More
4
  * http://wordpress.org/plugins/ajax-load-more/
5
- * https://github.com/dcooney/wordpress-ajax-load-more/
6
  *
7
  * Copyright 2015 Connekt Media - http://connekthq.com
8
  * Free to use under the GPLv2 license.
@@ -616,7 +616,10 @@
616
  }
617
  }
618
 
619
- } else {
 
 
 
620
  if(!alm.paging){
621
  alm.button.delay(alm.speed).removeClass('loading').addClass('done');
622
  }
2
  /*
3
  * Ajax Load More
4
  * http://wordpress.org/plugins/ajax-load-more/
5
+ * https://connekthq.com/plugins/ajax-load-more/
6
  *
7
  * Copyright 2015 Connekt Media - http://connekthq.com
8
  * Free to use under the GPLv2 license.
616
  }
617
  }
618
 
619
+ } else {
620
+ if ($.isFunction($.fn.almDone)) {
621
+ $.fn.almDone(alm);
622
+ }
623
  if(!alm.paging){
624
  alm.button.delay(alm.speed).removeClass('loading').addClass('done');
625
  }
core/js/ajax-load-more.min.js CHANGED
@@ -1,7 +1,7 @@
1
  /*
2
  * WordPress Ajax Load More
3
  * http://wordpress.org/plugins/ajax-load-more/
4
- * https://github.com/dcooney/wordpress-ajax-load-more
5
  *
6
  * Copyright 2015 Connekt Media - http://connekthq.com
7
  * Free to use under the GPLv2 license.
@@ -14,7 +14,6 @@
14
  (function($){"use strict";$.ajaxloadmore=function(el,e){if(alm_localize.scrolltop==='true'){$(window).scrollTop(0);}
15
  var alm=this;alm.AjaxLoadMore={};alm.page=0;alm.speed=250;alm.proceed=false;alm.disable_ajax=false;alm.init=true;alm.loading=true;alm.finished=false;alm.window=$(window);alm.button_label='';alm.data;alm.el=el;alm.container=el;alm.container.addClass('alm-'+e).attr('data-id',e);alm.content=$('.alm-listing.alm-ajax',alm.container);alm.content_preloaded=$('.alm-listing.alm-preloaded',alm.container);alm.prefix='alm-';alm.cache=alm.content.attr('data-cache');alm.cache_id=alm.content.attr('data-cache-id');alm.cache_path=alm.content.attr('data-cache-path');alm.cache_logged_in=alm.content.attr('data-cache-logged-in');alm.repeater=alm.content.attr('data-repeater');alm.theme_repeater=alm.content.attr('data-theme-repeater');alm.scroll_distance=parseInt(alm.content.attr('data-scroll-distance'));alm.max_pages=parseInt(alm.content.attr('data-max-pages'));alm.pause_override=alm.content.attr('data-pause-override');alm.pause=alm.content.attr('data-pause');alm.transition=alm.content.attr('data-transition');alm.images_loaded=alm.content.attr('data-images-loaded');alm.destroy_after=alm.content.attr('data-destroy-after');alm.lang=alm.content.attr('data-lang');alm.orginal_posts_per_page=alm.content.attr('data-posts-per-page');alm.posts_per_page=alm.content.attr('data-posts-per-page');alm.previous_post=alm.content.attr('data-previous-post');alm.previous_post_id=alm.content.attr('data-previous-post-id');alm.seo=alm.content.attr('data-seo');alm.preloaded=alm.content.attr('data-preloaded');alm.preloaded_amount=alm.content.attr('data-preloaded-amount');alm.paging=alm.content.attr('data-paging');alm.paging_controls=alm.content.attr('data-paging-controls');alm.paging_show_at_most=alm.content.attr('data-paging-show-at-most');alm.paging_classes=alm.content.attr('data-paging-classes');if(alm.paging==='true'){alm.paging=true;if(alm.paging_show_at_most===undefined){alm.paging_show_at_most=7;}}else{alm.paging=false;}
16
  if(alm.paging_controls==='true'){alm.paging_controls=true;}else{alm.paging_controls=false;}
17
- if($(".ajax-load-more-wrap").length>1){}
18
  if(alm.cache===undefined){alm.cache=false;}
19
  if(alm.cache_logged_in===undefined){alm.cache_logged_in=false;}
20
  if(alm.preloaded==='true'){alm.preload_wrap=alm.content.prev('.alm-preloaded');alm.total_posts=parseInt(alm.preload_wrap.attr('data-total-posts'));if(alm.preloaded_amount===undefined){alm.preloaded_amount=false;}
@@ -57,7 +56,8 @@ if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.but
57
  if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.button.addClass('done');}}});});}else{alm.el.slideDown(alm.speed,'alm_easeInOutQuad',function(){alm.loading=false;if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading');}
58
  if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.button.addClass('done');}}});}}}else{if(!alm.init){$('.alm-paging-content',alm.el).html('').append(alm.data).almWaitForImages().done(function(){$('.alm-paging-loading',alm.el).fadeOut(alm.speed);if($.isFunction($.fn.almOnPagingComplete)){$.fn.almOnPagingComplete(alm);}});}}
59
  if($.isFunction($.fn.almComplete)){if(alm.images_loaded==='true'){alm.el.almWaitForImages().done(function(){$.fn.almComplete(alm);});}else{$.fn.almComplete(alm);}}
60
- if($(".ajax-load-more-wrap").length===1){if($.isFunction($.fn.almSEO)&&alm.seo){if(alm.images_loaded==='true'){alm.el.almWaitForImages().done(function(){$.fn.almSEO(alm);});}else{$.fn.almSEO(alm);}}}}else{if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading').addClass('done');}
 
61
  alm.loading=false;alm.finished=true;}
62
  if(alm.destroy_after!==undefined&&alm.destroy_after!==''){var currentPage=alm.page+1;if(alm.preload){currentPage++;}
63
  if(currentPage==alm.destroy_after){alm.disable_ajax=true;if(!alm.paging){alm.button.delay(alm.speed).fadeOut(alm.speed);}}}
1
  /*
2
  * WordPress Ajax Load More
3
  * http://wordpress.org/plugins/ajax-load-more/
4
+ * https://connekthq.com/plugins/ajax-load-more/
5
  *
6
  * Copyright 2015 Connekt Media - http://connekthq.com
7
  * Free to use under the GPLv2 license.
14
  (function($){"use strict";$.ajaxloadmore=function(el,e){if(alm_localize.scrolltop==='true'){$(window).scrollTop(0);}
15
  var alm=this;alm.AjaxLoadMore={};alm.page=0;alm.speed=250;alm.proceed=false;alm.disable_ajax=false;alm.init=true;alm.loading=true;alm.finished=false;alm.window=$(window);alm.button_label='';alm.data;alm.el=el;alm.container=el;alm.container.addClass('alm-'+e).attr('data-id',e);alm.content=$('.alm-listing.alm-ajax',alm.container);alm.content_preloaded=$('.alm-listing.alm-preloaded',alm.container);alm.prefix='alm-';alm.cache=alm.content.attr('data-cache');alm.cache_id=alm.content.attr('data-cache-id');alm.cache_path=alm.content.attr('data-cache-path');alm.cache_logged_in=alm.content.attr('data-cache-logged-in');alm.repeater=alm.content.attr('data-repeater');alm.theme_repeater=alm.content.attr('data-theme-repeater');alm.scroll_distance=parseInt(alm.content.attr('data-scroll-distance'));alm.max_pages=parseInt(alm.content.attr('data-max-pages'));alm.pause_override=alm.content.attr('data-pause-override');alm.pause=alm.content.attr('data-pause');alm.transition=alm.content.attr('data-transition');alm.images_loaded=alm.content.attr('data-images-loaded');alm.destroy_after=alm.content.attr('data-destroy-after');alm.lang=alm.content.attr('data-lang');alm.orginal_posts_per_page=alm.content.attr('data-posts-per-page');alm.posts_per_page=alm.content.attr('data-posts-per-page');alm.previous_post=alm.content.attr('data-previous-post');alm.previous_post_id=alm.content.attr('data-previous-post-id');alm.seo=alm.content.attr('data-seo');alm.preloaded=alm.content.attr('data-preloaded');alm.preloaded_amount=alm.content.attr('data-preloaded-amount');alm.paging=alm.content.attr('data-paging');alm.paging_controls=alm.content.attr('data-paging-controls');alm.paging_show_at_most=alm.content.attr('data-paging-show-at-most');alm.paging_classes=alm.content.attr('data-paging-classes');if(alm.paging==='true'){alm.paging=true;if(alm.paging_show_at_most===undefined){alm.paging_show_at_most=7;}}else{alm.paging=false;}
16
  if(alm.paging_controls==='true'){alm.paging_controls=true;}else{alm.paging_controls=false;}
 
17
  if(alm.cache===undefined){alm.cache=false;}
18
  if(alm.cache_logged_in===undefined){alm.cache_logged_in=false;}
19
  if(alm.preloaded==='true'){alm.preload_wrap=alm.content.prev('.alm-preloaded');alm.total_posts=parseInt(alm.preload_wrap.attr('data-total-posts'));if(alm.preloaded_amount===undefined){alm.preloaded_amount=false;}
56
  if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.button.addClass('done');}}});});}else{alm.el.slideDown(alm.speed,'alm_easeInOutQuad',function(){alm.loading=false;if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading');}
57
  if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.button.addClass('done');}}});}}}else{if(!alm.init){$('.alm-paging-content',alm.el).html('').append(alm.data).almWaitForImages().done(function(){$('.alm-paging-loading',alm.el).fadeOut(alm.speed);if($.isFunction($.fn.almOnPagingComplete)){$.fn.almOnPagingComplete(alm);}});}}
58
  if($.isFunction($.fn.almComplete)){if(alm.images_loaded==='true'){alm.el.almWaitForImages().done(function(){$.fn.almComplete(alm);});}else{$.fn.almComplete(alm);}}
59
+ if($(".ajax-load-more-wrap").length===1){if($.isFunction($.fn.almSEO)&&alm.seo){if(alm.images_loaded==='true'){alm.el.almWaitForImages().done(function(){$.fn.almSEO(alm);});}else{$.fn.almSEO(alm);}}}}else{if($.isFunction($.fn.almDone)){$.fn.almDone(alm);}
60
+ if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading').addClass('done');}
61
  alm.loading=false;alm.finished=true;}
62
  if(alm.destroy_after!==undefined&&alm.destroy_after!==''){var currentPage=alm.page+1;if(alm.preload){currentPage++;}
63
  if(currentPage==alm.destroy_after){alm.disable_ajax=true;if(!alm.paging){alm.button.delay(alm.speed).fadeOut(alm.speed);}}}