WordPress Infinite Scroll – Ajax Load More - Version 2.7.0

Version Description

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

Release Info

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

Code changes from version 2.6.3.2 to 2.7.0

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://connekthq.com/donate/
4
  Tags: ajax, query, loop, paging, filter, infinite scroll, infinite, dynamic, jquery, shortcode builder, shortcode, search, tags, category, post types, taxonomy, meta_query, post format, wmpl, archives, date
5
  Requires at least: 3.6
6
  Tested up to: 4.2.2
7
- Stable tag: 2.6.3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -48,11 +48,12 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
48
  * **meta_key** - Custom field key(name). Default = null
49
  * **meta_value** - Custom field value. Default = null
50
  * **meta_compare** - Operator to compare meta_key and meta_value against (IN/NOT IN/=/!=/>/>=/</<= etc.). Default = ‘IN’
 
51
  * **author** - Query by author id. Default = null
52
  * **post__in** - Comma separated list of post ID’s to include in query. Default = null
53
  * **exclude** - Comma separated list of post ID’s to exclude from query. Default = null
54
  * **search** - Query search term (‘s’). Default = null
55
- * **custom_args** - A comma separated list of custom value:pair arguments. e.g. tag_slug__and:array(design), event_display:upcoming. Default = null
56
  * **post_status** - Select status of the post. Default = 'publish'
57
  * **order** - Display posts in ASC(ascending) or DESC(descending) order. Default = ‘DESC’
58
  * **orderby** - Order posts by date, title, name, menu order, random, author, post ID or comment count. Default = ‘date’
@@ -65,11 +66,16 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
65
  * **transition** - Choose a posts reveal transition (slide/fade/none). Default = 'slide'
66
  * **destroy_after** - Remove ajax load more functionality after 'n' number of pages have been loaded. Default = null
67
  * **button_label** - The label text for Load More button. Default = 'Older Posts'
 
68
  * **cache** - Turn on content caching for the specific Ajax Load More query. <a href="http://connekthq.com/plugins/ajax-load-more/cache/">add-on only</a> - (true/false). Default = ‘false’
69
  * **cache_id** - A unique 10 digit ID for the cached query. <a href="http://connekthq.com/plugins/ajax-load-more/cache/">add-on only</a> - Default = A random 10 digit integer
70
  * **seo** - Enable address bar URL rewrites as users page through content - <a href="http://connekthq.com/plugins/ajax-load-more/search-engine-optimization/">add-on only</a> (true/false). Default = ‘false’
71
  * **preloaded** - Should Ajax Load More preload posts? <a href="http://connekthq.com/plugins/ajax-load-more/preloaded/">add-on only</a> - (true/false). Default = ‘false’
72
  * **preloaded_amount** - The amount of posts to preload. <a href="http://connekthq.com/plugins/ajax-load-more/preloaded/">add-on only</a> - Default = ‘5’
 
 
 
 
73
 
74
 
75
  ***
@@ -85,12 +91,14 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
85
  * **[Destroy After](http://connekthq.com/plugins/ajax-load-more/examples/destroy-after/)** - Remove Ajax Load More functionality after 'n' number of pages
86
  * **[Fade Transition](http://connekthq.com/plugins/ajax-load-more/examples/fade-transition/)** - Elements fade in as posts are loaded
87
  * **[Filtering](http://connekthq.com/plugins/ajax-load-more/examples/filtering/)** - Reset and filter an Ajax Load More instance
88
- * **[Mansory](http://connekthq.com/plugins/ajax-load-more/examples/masonry/)** - Creating a flexible grid layout with Masonry JS
89
  * **[Multiple Instances](http://connekthq.com/plugins/ajax-load-more/examples/multiple-instances/)** - Include multiple Ajax Load More' on a single page
 
90
  * **[Pause Loading](http://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Posts will not load until initiated by the user
91
- * **[Preloaded posts](http://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Easily preload an initial set of posts before completing any Ajax requests to the server
92
  * **[Search Results](http://connekthq.com/plugins/ajax-load-more/examples/search-results/)** - Returning results based on search terms
93
- * **[SEO Paging](http://connekthq.com/plugins/ajax-load-more/examples/seo-paging/)** - Generate unique paging URLs with each Ajax Load More query
 
94
 
95
  *The [Custom Repeater Add-On](http://connekthq.com/plugins/ajax-load-more/custom-repeaters/) has been installed for use on each of our product demos*
96
 
@@ -109,6 +117,10 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
109
  > 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 />
110
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/cache)
111
  >
 
 
 
 
112
  > #### Preloaded
113
  > The **[Preloaded](http://connekthq.com/plugins/ajax-load-more/preloaded)** add-on will allow you to quickly and easily preload an initial set of posts before completing any Ajax requests to the server.<br />
114
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/preloaded)
@@ -252,13 +264,23 @@ How to install Ajax Load More.
252
  == Changelog ==
253
 
254
 
 
 
 
 
 
 
 
 
 
 
 
255
  = 2.6.3.2 =
256
  * FIX - Fixed bug with Preloaded + SEO and scrolling to current page in core Ajax Load More JS.
257
  * UPDATE - Moved SEO and Cache add-on settings and controls from ALM core to SEO core.
258
  * NEW - Added Google Analytics Pageview support to SEO add-on.
259
  * UPDATE - Various admin UI improvements.
260
 
261
-
262
  = 2.6.3.1 =
263
  * 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.
264
  * FIX - Fixed javascript issue with shorthand if statements and script concatenation.
4
  Tags: ajax, query, loop, paging, filter, infinite scroll, infinite, dynamic, jquery, shortcode builder, shortcode, search, tags, category, post types, taxonomy, meta_query, post format, wmpl, archives, date
5
  Requires at least: 3.6
6
  Tested up to: 4.2.2
7
+ Stable tag: 2.7.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
48
  * **meta_key** - Custom field key(name). Default = null
49
  * **meta_value** - Custom field value. Default = null
50
  * **meta_compare** - Operator to compare meta_key and meta_value against (IN/NOT IN/=/!=/>/>=/</<= etc.). Default = ‘IN’
51
+ * **meta_relation** - Used with multiple custom field entries (AND/OR). Default = ‘AND’
52
  * **author** - Query by author id. Default = null
53
  * **post__in** - Comma separated list of post ID’s to include in query. Default = null
54
  * **exclude** - Comma separated list of post ID’s to exclude from query. Default = null
55
  * **search** - Query search term (‘s’). Default = null
56
+ * **custom_args** - A semicolon separated list of value:pair arguments. e.g. tag_slug__and:design,development; event_display:upcoming. Default = null
57
  * **post_status** - Select status of the post. Default = 'publish'
58
  * **order** - Display posts in ASC(ascending) or DESC(descending) order. Default = ‘DESC’
59
  * **orderby** - Order posts by date, title, name, menu order, random, author, post ID or comment count. Default = ‘date’
66
  * **transition** - Choose a posts reveal transition (slide/fade/none). Default = 'slide'
67
  * **destroy_after** - Remove ajax load more functionality after 'n' number of pages have been loaded. Default = null
68
  * **button_label** - The label text for Load More button. Default = 'Older Posts'
69
+ * **css_classes** - Add custom CSS classes to the Ajax Load More container. Default = null
70
  * **cache** - Turn on content caching for the specific Ajax Load More query. <a href="http://connekthq.com/plugins/ajax-load-more/cache/">add-on only</a> - (true/false). Default = ‘false’
71
  * **cache_id** - A unique 10 digit ID for the cached query. <a href="http://connekthq.com/plugins/ajax-load-more/cache/">add-on only</a> - Default = A random 10 digit integer
72
  * **seo** - Enable address bar URL rewrites as users page through content - <a href="http://connekthq.com/plugins/ajax-load-more/search-engine-optimization/">add-on only</a> (true/false). Default = ‘false’
73
  * **preloaded** - Should Ajax Load More preload posts? <a href="http://connekthq.com/plugins/ajax-load-more/preloaded/">add-on only</a> - (true/false). Default = ‘false’
74
  * **preloaded_amount** - The amount of posts to preload. <a href="http://connekthq.com/plugins/ajax-load-more/preloaded/">add-on only</a> - Default = ‘5’
75
+ * **paging** - Replace infinite scrolling with a paged navigation system. <a href="http://connekthq.com/plugins/ajax-load-more/paging/">add-on only</a> (true/false). Default = ‘false’
76
+ * **paging_controls** - Show previous(«) and next(») buttons (true/false). Default = ‘false’
77
+ * **paging_classes** - Add classes to the paging navigation menu for CSS styling.
78
+ * **paging_show_at_most** - Maximum amount of pages to show at a time. 0 = no maximum. Default = ‘0’
79
 
80
 
81
  ***
91
  * **[Destroy After](http://connekthq.com/plugins/ajax-load-more/examples/destroy-after/)** - Remove Ajax Load More functionality after 'n' number of pages
92
  * **[Fade Transition](http://connekthq.com/plugins/ajax-load-more/examples/fade-transition/)** - Elements fade in as posts are loaded
93
  * **[Filtering](http://connekthq.com/plugins/ajax-load-more/examples/filtering/)** - Reset and filter an Ajax Load More instance
94
+ * **[Masonry](http://connekthq.com/plugins/ajax-load-more/examples/masonry/)** - Creating a flexible grid layout with Masonry JS
95
  * **[Multiple Instances](http://connekthq.com/plugins/ajax-load-more/examples/multiple-instances/)** - Include multiple Ajax Load More' on a single page
96
+ * **[Paging URLs](http://connekthq.com/plugins/ajax-load-more/examples/paging-urls/)** - Generate unique paging URLs for every Ajax Load More query with the SEO add-on
97
  * **[Pause Loading](http://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Posts will not load until initiated by the user
98
+ * **[Preloaded Posts](http://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Easily preload an initial set of posts before completing any Ajax requests to the server
99
  * **[Search Results](http://connekthq.com/plugins/ajax-load-more/examples/search-results/)** - Returning results based on search terms
100
+ * **[SEO & Paging](https://connekthq.com/plugins/ajax-load-more/examples/seo-paging-add-ons/)** - Combine these two add-ons to create one powerful navigation system
101
+ * **[Slideshow Gallery](https://connekthq.com/plugins/ajax-load-more/examples/slideshow-gallery/)** - Create a gallery of posts with Ajax Load More and the Paging add-on.
102
 
103
  *The [Custom Repeater Add-On](http://connekthq.com/plugins/ajax-load-more/custom-repeaters/) has been installed for use on each of our product demos*
104
 
117
  > 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 />
118
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/cache)
119
  >
120
+ > #### Paging
121
+ > The **[Paging](http://connekthq.com/plugins/ajax-load-more/paging)** add-on will transform Ajax Load More’s lazy load/infinite scroll functionality into a robust ajax powered navigation system.<br />
122
+ > [Get More Information](http://connekthq.com/plugins/ajax-load-more/paging)
123
+ > >
124
  > #### Preloaded
125
  > The **[Preloaded](http://connekthq.com/plugins/ajax-load-more/preloaded)** add-on will allow you to quickly and easily preload an initial set of posts before completing any Ajax requests to the server.<br />
126
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/preloaded)
264
  == Changelog ==
265
 
266
 
267
+ = 2.7.0 =
268
+ * MILESTONE - This 2.7.0 release includes major updates to ALM core functionality to allow for new features and various fixes.
269
+ * NEW - Added multiple meta query functionality to the shortcode builder - users can now query by up to 4 custom fields.
270
+ * NEW - Adding 'css_classes' parameter - users can now add container css classes directly within the shortcode builder as well as the setting screen.
271
+ * NEW - Adding Paging add-on functionality.
272
+ * NEW - Adding secondary query to return total posts for entire ALM query.
273
+ * NEW - Adding licensing section for add-on license key activation.
274
+ * FIX - Fixed issue with boolean vs string variables in core JS.
275
+ * 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.
276
+
277
+
278
  = 2.6.3.2 =
279
  * FIX - Fixed bug with Preloaded + SEO and scrolling to current page in core Ajax Load More JS.
280
  * UPDATE - Moved SEO and Cache add-on settings and controls from ALM core to SEO core.
281
  * NEW - Added Google Analytics Pageview support to SEO add-on.
282
  * UPDATE - Various admin UI improvements.
283
 
 
284
  = 2.6.3.1 =
285
  * 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.
286
  * FIX - Fixed javascript issue with shorthand if statements and script concatenation.
admin/admin.php CHANGED
@@ -112,20 +112,79 @@ add_action( 'admin_menu', 'alm_admin_menu' );
112
  function alm_admin_menu() {
113
  $icon = 'dashicons-plus-alt';
114
  $icon = ALM_ADMIN_URL . "/img/alm-logo-16x16.png";
115
- $alm_page = add_menu_page( 'Ajax Load More', 'Ajax Load More', 'edit_theme_options', 'ajax-load-more', 'alm_settings_page', $icon );
116
 
117
- $alm_settings_page = add_submenu_page( 'ajax-load-more', 'Settings', 'Settings', 'edit_theme_options', 'ajax-load-more', 'alm_settings_page');
 
 
 
 
 
 
 
118
 
119
- $alm_template_page = add_submenu_page( 'ajax-load-more', 'Repeater Templates', 'Repeater Templates', 'edit_theme_options', 'ajax-load-more-repeaters', 'alm_repeater_page');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
 
121
- $alm_shortcode_page = add_submenu_page( 'ajax-load-more', 'Shortcode Builder', 'Shortcode Builder', 'edit_theme_options', 'ajax-load-more-shortcode-builder', 'alm_shortcode_builder_page');
 
 
 
 
 
 
 
122
 
123
- $alm_examples_page = add_submenu_page( 'ajax-load-more', 'Examples', 'Examples', 'edit_theme_options', 'ajax-load-more-examples', 'alm_example_page');
 
 
 
 
 
 
 
124
 
125
- $alm_addons_page = add_submenu_page( 'ajax-load-more', 'Add-ons', 'Add-ons', 'edit_theme_options', 'ajax-load-more-add-ons', 'alm_add_ons_page');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
 
127
  if(has_action('alm_cache_installed')){
128
- $alm_cache_page = add_submenu_page( 'ajax-load-more', 'Cache', '<span style="color: #f2f5bf">Cache<span>', 'edit_theme_options', 'ajax-load-more-cache', 'alm_cache_page');
 
 
 
 
 
 
 
129
  add_action( 'load-' . $alm_cache_page, 'alm_load_admin_js' );
130
  add_action( 'load-' . $alm_cache_page, 'alm_load_cache_admin_js' );
131
  }
@@ -136,6 +195,7 @@ function alm_admin_menu() {
136
  add_action( 'load-' . $alm_shortcode_page, 'alm_load_admin_js' );
137
  add_action( 'load-' . $alm_examples_page, 'alm_load_admin_js' );
138
  add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
 
139
  }
140
 
141
 
@@ -268,6 +328,19 @@ function alm_add_ons_page(){
268
  }
269
 
270
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  /*
272
  * alm_cache_page
273
  * Cache Add-on page
@@ -566,6 +639,24 @@ function alm_admin_init(){
566
  // CACHE
567
  if(has_action('alm_cache_settings')){
568
  do_action('alm_cache_settings');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
569
  }
570
 
571
 
@@ -673,7 +764,7 @@ function alm_disable_dynamic_callback(){
673
  function alm_class_callback(){
674
  $options = get_option( 'alm_settings' );
675
 
676
- $html = '<label for="alm_settings[_alm_classname]">'.__('Add classes to Ajax Load More container.', ALM_NAME).'</label><br/>';
677
  $html .= '<input type="text" id="alm_settings[_alm_classname]" name="alm_settings[_alm_classname]" value="'.$options['_alm_classname'].'" placeholder="posts listing etc..." /> ';
678
 
679
  echo $html;
@@ -753,7 +844,7 @@ function alm_btn_color_callback() {
753
  $html .= '<option value="white" ' . $selected6 .'>White</option>';
754
  $html .= '</select>';
755
 
756
- $html .= '<div class="clear"></div><div class="ajax-load-more-wrap '.$color.'"><span>'.__('Preview', ALM_NAME) .'</span><button class="alm-load-more-btn loading" disabled="disabled">Load More</button></div>';
757
  echo $html;
758
  }
759
 
@@ -782,8 +873,8 @@ function alm_btn_class_callback(){
782
  var colorArray = "default grey purple green red blue white";
783
  jQuery("select#alm_settings_btn_color").change(function() {
784
  var color = jQuery(this).val();
785
- jQuery('.ajax-load-more-wrap').removeClass(colorArray);
786
- jQuery('.ajax-load-more-wrap').addClass(color);
787
  });
788
  jQuery("select#alm_settings_btn_color").click(function(e){
789
  e.preventDefault();
112
  function alm_admin_menu() {
113
  $icon = 'dashicons-plus-alt';
114
  $icon = ALM_ADMIN_URL . "/img/alm-logo-16x16.png";
 
115
 
116
+ $alm_page = add_menu_page(
117
+ 'Ajax Load More',
118
+ 'Ajax Load More',
119
+ 'edit_theme_options',
120
+ 'ajax-load-more',
121
+ 'alm_settings_page',
122
+ $icon
123
+ );
124
 
125
+ $alm_settings_page = add_submenu_page(
126
+ 'ajax-load-more',
127
+ 'Settings',
128
+ 'Settings',
129
+ 'edit_theme_options',
130
+ 'ajax-load-more',
131
+ 'alm_settings_page'
132
+ );
133
+
134
+ $alm_template_page = add_submenu_page(
135
+ 'ajax-load-more',
136
+ 'Repeater Templates',
137
+ 'Repeater Templates',
138
+ 'edit_theme_options',
139
+ 'ajax-load-more-repeaters',
140
+ 'alm_repeater_page'
141
+ );
142
 
143
+ $alm_shortcode_page = add_submenu_page(
144
+ 'ajax-load-more',
145
+ 'Shortcode Builder',
146
+ 'Shortcode Builder',
147
+ 'edit_theme_options',
148
+ 'ajax-load-more-shortcode-builder',
149
+ 'alm_shortcode_builder_page'
150
+ );
151
 
152
+ $alm_examples_page = add_submenu_page(
153
+ 'ajax-load-more',
154
+ 'Examples',
155
+ 'Examples',
156
+ 'edit_theme_options',
157
+ 'ajax-load-more-examples',
158
+ 'alm_example_page'
159
+ );
160
 
161
+ $alm_addons_page = add_submenu_page(
162
+ 'ajax-load-more',
163
+ 'Add-ons',
164
+ 'Add-ons',
165
+ 'edit_theme_options',
166
+ 'ajax-load-more-add-ons',
167
+ 'alm_add_ons_page'
168
+ );
169
+
170
+ $alm_licenses_page = add_submenu_page(
171
+ 'ajax-load-more',
172
+ 'Licenses',
173
+ 'Licenses',
174
+ 'edit_theme_options',
175
+ 'ajax-load-more-licenses',
176
+ 'alm_licenses_page'
177
+ );
178
 
179
  if(has_action('alm_cache_installed')){
180
+ $alm_cache_page = add_submenu_page(
181
+ 'ajax-load-more',
182
+ 'Cache',
183
+ '<span style="color: #f2f5bf; display:block; border-top: 1px solid #555; padding-top: 8px; border-radius: 3px;">Cache<span>',
184
+ 'edit_theme_options',
185
+ 'ajax-load-more-cache',
186
+ 'alm_cache_page'
187
+ );
188
  add_action( 'load-' . $alm_cache_page, 'alm_load_admin_js' );
189
  add_action( 'load-' . $alm_cache_page, 'alm_load_cache_admin_js' );
190
  }
195
  add_action( 'load-' . $alm_shortcode_page, 'alm_load_admin_js' );
196
  add_action( 'load-' . $alm_examples_page, 'alm_load_admin_js' );
197
  add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
198
+ add_action( 'load-' . $alm_licenses_page, 'alm_load_admin_js' );
199
  }
200
 
201
 
328
  }
329
 
330
 
331
+
332
+ /*
333
+ * alm_licenses_page
334
+ * Ajax Load More Licenses
335
+ *
336
+ * @since 2.7.0
337
+ */
338
+
339
+ function alm_licenses_page(){
340
+ include_once( ALM_PATH . 'admin/views/licenses.php');
341
+ }
342
+
343
+
344
  /*
345
  * alm_cache_page
346
  * Cache Add-on page
639
  // CACHE
640
  if(has_action('alm_cache_settings')){
641
  do_action('alm_cache_settings');
642
+ }
643
+
644
+
645
+ // CUSTOM REPEATERS
646
+ if(has_action('alm_unlimited_settings')){
647
+ do_action('alm_unlimited_settings');
648
+ }
649
+
650
+
651
+ // PAGINATION
652
+ if(has_action('alm_paging_settings')){
653
+ do_action('alm_paging_settings');
654
+ }
655
+
656
+
657
+ // PRELOADED
658
+ if(has_action('alm_preloaded_settings')){
659
+ do_action('alm_preloaded_settings');
660
  }
661
 
662
 
764
  function alm_class_callback(){
765
  $options = get_option( 'alm_settings' );
766
 
767
+ $html = '<label for="alm_settings[_alm_classname]">'.__('Add classes to Ajax Load More container - these classes are applied globally and will appear with every instance of Ajax Load More.<span style="display:block">You can also add classes to the ALM container when building a shortcode.</span>', ALM_NAME).'</label><br/>';
768
  $html .= '<input type="text" id="alm_settings[_alm_classname]" name="alm_settings[_alm_classname]" value="'.$options['_alm_classname'].'" placeholder="posts listing etc..." /> ';
769
 
770
  echo $html;
844
  $html .= '<option value="white" ' . $selected6 .'>White</option>';
845
  $html .= '</select>';
846
 
847
+ $html .= '<div class="clear"></div><div class="ajax-load-more-wrap core '.$color.'"><span>'.__('Preview', ALM_NAME) .'</span><button class="alm-load-more-btn loading" disabled="disabled">Load More</button></div>';
848
  echo $html;
849
  }
850
 
873
  var colorArray = "default grey purple green red blue white";
874
  jQuery("select#alm_settings_btn_color").change(function() {
875
  var color = jQuery(this).val();
876
+ jQuery('.ajax-load-more-wrap.core').removeClass(colorArray);
877
+ jQuery('.ajax-load-more-wrap.core').addClass(color);
878
  });
879
  jQuery("select#alm_settings_btn_color").click(function(e){
880
  e.preventDefault();
admin/css/admin.css CHANGED
@@ -15,7 +15,7 @@
15
  color:#666;
16
  position: relative;
17
  font-family: 'Open Sans', sans-serif;
18
- max-width: 1100px;
19
  }
20
  .ajax-load-more a:focus{
21
  -webkit-box-shadow: none;
@@ -38,8 +38,17 @@
38
  padding: 15px 10px 140px !important;
39
  }
40
 
41
- #alm-settings h3 + p{
 
 
 
 
 
42
  color: #999;
 
 
 
 
43
  }
44
  .ajax-load-more code{
45
  background: #fcf3d0;
@@ -240,10 +249,63 @@
240
  margin: 0 0 20px;
241
  padding: 20px 0 0 !important;
242
  overflow:hidden;
 
 
 
 
243
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  .ajax-load-more #taxonomy-extended,
245
- .ajax-load-more #meta-query-extended,
246
- .ajax-load-more #seo-extended{
 
247
  display: none;
248
  overflow: hidden;
249
  }
@@ -354,7 +416,8 @@
354
  display: inline-block;
355
  vertical-align: top;
356
  }
357
- .ajax-load-more .wrap-30 input[type=text].sm{
 
358
  width: 100%;
359
  margin: 0;
360
  }
@@ -522,6 +585,11 @@
522
  padding: 21px 15px 10px;
523
  width: 45%;
524
  }
 
 
 
 
 
525
  .ajax-load-more .section-title p{
526
  font-size: 13px !important;
527
  padding-left: 21px !important;
@@ -568,6 +636,11 @@
568
  float: left;
569
  position: relative;
570
  }
 
 
 
 
 
571
 
572
 
573
  /* ***********************************
@@ -802,15 +875,24 @@
802
  .admin.ajax-load-more.settings .ajax-load-more-wrap button{
803
  margin: 0 !important;
804
  }
805
- .admin.ajax-load-more.settings .ajax-load-more-wrap span{
806
  display: block;
807
  font-size: 11px;
808
  opacity: 0.7;
809
- padding: 0 0 5px;
 
810
  }
811
  .admin.ajax-load-more.settings button.alm-load-more-btn.loading:before {
812
  margin: 5px 6px 6px;
813
  }
 
 
 
 
 
 
 
 
814
 
815
 
816
  /* Table Overrides */
@@ -1160,13 +1242,146 @@ table.highlight{
1160
  color: #5da592 !important;
1161
  top: 0;
1162
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1163
 
1164
 
1165
  /*
1166
- * Plugin Sidebar
1167
- *
1168
- * @since 1.0
1169
- */
1170
  .ajax-load-more .cnkt-sidebar{
1171
  width: 30%;
1172
  float: right;
@@ -1212,6 +1427,7 @@ table.highlight{
1212
  .ajax-load-more .cnkt-sidebar li{
1213
  font-size: 13px;
1214
  margin: 0 0 10px;
 
1215
  }
1216
  .ajax-load-more .cnkt-sidebar .item i{
1217
  font-size: 12px;
@@ -2056,6 +2272,15 @@ p.cache-stats{
2056
  .alm-repeater-options{
2057
  display: none !important;
2058
  }
 
 
 
 
 
 
 
 
 
2059
 
2060
  }
2061
 
15
  color:#666;
16
  position: relative;
17
  font-family: 'Open Sans', sans-serif;
18
+ max-width: 1250px;
19
  }
20
  .ajax-load-more a:focus{
21
  -webkit-box-shadow: none;
38
  padding: 15px 10px 140px !important;
39
  }
40
 
41
+ #alm-settings form h3{
42
+ padding: 2px 0 6px 12px;
43
+ border-left: 5px solid #ff5a58;
44
+ margin: 0;
45
+ }
46
+ #alm-settings form h3 + p{
47
  color: #999;
48
+ padding: 0 0 0 12px;
49
+ border-left: 5px solid #ff5a58;
50
+ margin: 0 0 16px;
51
+ font-size: 13px;
52
  }
53
  .ajax-load-more code{
54
  background: #fcf3d0;
249
  margin: 0 0 20px;
250
  padding: 20px 0 0 !important;
251
  overflow:hidden;
252
+ position: relative;
253
+ }
254
+ .ajax-load-more .border-top.controls{
255
+ padding: 0 !important;
256
  }
257
+ .ajax-load-more .border-top.controls button{
258
+ margin-top: 20px !important;
259
+ }
260
+
261
+ .ajax-load-more .border-top.highlighted{
262
+ background-color: #fafbde;
263
+ padding: 10px !important;
264
+ border: 1px solid #efefef;
265
+ }
266
+
267
+
268
+ .meta-query-wrap{}
269
+ .ajax-load-more #meta-query-extended .meta-query-wrap .inner{
270
+ padding: 0 20px 0 0 !important;
271
+ position: relative;
272
+ }
273
+ .meta-query-wrap .remove-meta-query{
274
+ position: absolute;
275
+ right:5px;
276
+ bottom:8px;
277
+ width: 23px;
278
+ height: 23px;
279
+ line-height: 19px;
280
+ text-align: center;
281
+ font-weight: 700;
282
+ font-size: 13px;
283
+ -webkit-border-radius: 2px;
284
+ -moz-border-radius: 2px;
285
+ border-radius: 2px;
286
+ background-color: #efefef;
287
+ color: #999;
288
+ text-decoration: none;
289
+ border: 1px solid #ccc;
290
+ }
291
+ .meta-query-wrap .remove-meta-query:hover{
292
+ background-color: #cb2222;
293
+ border-color: #cb2222;
294
+ color: #fff;
295
+ }
296
+ .meta-query-wrap.removing{
297
+ /* background-color: #edd4d4; */
298
+ }
299
+
300
+ .ajax-load-more .meta-query-wrap .border-top:first-of-type{
301
+ padding: 0 0 0 !important;
302
+ border: none;
303
+ }
304
+
305
  .ajax-load-more #taxonomy-extended,
306
+ .ajax-load-more #nav-controls,
307
+ .ajax-load-more #seo-extended,
308
+ .ajax-load-more #meta-query-relation{
309
  display: none;
310
  overflow: hidden;
311
  }
416
  display: inline-block;
417
  vertical-align: top;
418
  }
419
+ .ajax-load-more .wrap-30 input[type=text].sm,
420
+ .ajax-load-more .wrap-30 .select2-container{
421
  width: 100%;
422
  margin: 0;
423
  }
585
  padding: 21px 15px 10px;
586
  width: 45%;
587
  }
588
+
589
+ .ajax-load-more .section-title.full {
590
+ width: 100%;
591
+ float: none;
592
+ }
593
  .ajax-load-more .section-title p{
594
  font-size: 13px !important;
595
  padding-left: 21px !important;
636
  float: left;
637
  position: relative;
638
  }
639
+ .ajax-load-more .row .wrap.full{
640
+ float: none;
641
+ width: 100%;
642
+ padding: 0 15px 10px 36px;
643
+ }
644
 
645
 
646
  /* ***********************************
875
  .admin.ajax-load-more.settings .ajax-load-more-wrap button{
876
  margin: 0 !important;
877
  }
878
+ .admin.ajax-load-more.settings .ajax-load-more-wrap > span{
879
  display: block;
880
  font-size: 11px;
881
  opacity: 0.7;
882
+ padding: 0 0 8px;
883
+ text-transform: uppercase;
884
  }
885
  .admin.ajax-load-more.settings button.alm-load-more-btn.loading:before {
886
  margin: 5px 6px 6px;
887
  }
888
+
889
+ .admin.ajax-load-more.settings .ajax-load-more-wrap.pages{}
890
+ .admin.ajax-load-more.settings .ajax-load-more-wrap.pages li{
891
+ font-size: 14px;
892
+ }
893
+ .admin.ajax-load-more.settings .ajax-load-more-wrap.pages li a{
894
+ text-decoration: none;
895
+ }
896
 
897
 
898
  /* Table Overrides */
1242
  color: #5da592 !important;
1243
  top: 0;
1244
  }
1245
+
1246
+ /*
1247
+ * Licenses
1248
+ *
1249
+ * @since 2.7.0
1250
+ */
1251
+
1252
+ .license{
1253
+ overflow: hidden;
1254
+ margin: 0;
1255
+ display: block;
1256
+ padding: 20px 0 0;
1257
+ position: relative;
1258
+ }
1259
+ .license:first-of-type{
1260
+ padding: 10px 0 0;
1261
+ }
1262
+ .license-title{
1263
+ border-radius: 3px 3px 0 0;
1264
+ border: 1px solid #ccc;
1265
+ background-color: #efefef;
1266
+ position: relative;
1267
+ }
1268
+ .license-title .status{
1269
+ width: 12px;
1270
+ height: 12px;
1271
+ -webkit-border-radius: 100%;
1272
+ -moz-border-radius: 100%;
1273
+ border-radius: 100%;
1274
+ background: #d45656;
1275
+ position: absolute;
1276
+ left: 15px;
1277
+ top: 50%;
1278
+ margin-top: -6px;
1279
+ box-shadow: inset 0 -6px 6px rgba(0, 0, 0, 0.05), 0 1px 0 #fff;
1280
+ }
1281
+ .license-title .status.valid{
1282
+ background-color: #acd481;
1283
+ }
1284
+ .license h2{
1285
+ margin: 0;
1286
+ padding: 15px 15px 15px 35px;
1287
+ font-size: 16px;
1288
+ font-weight: 600;
1289
+ line-height: 1.2;
1290
+ }
1291
+ .license p,
1292
+ .license label{
1293
+ font-size: 400;
1294
+ font-size: 13px;
1295
+ }
1296
+ .license .cnkt-button{
1297
+ position: absolute;
1298
+ top: 9px;
1299
+ right: 15px;
1300
+ padding: 5px 7px !important;
1301
+ }
1302
+ .license a.cnkt-button.installed{
1303
+ background-color: none !important;
1304
+ -webkit-box-shadow: none !important;
1305
+ -moz-box-shadow: none !important;
1306
+ box-shadow: none !important;
1307
+ border-color: transparent !important;
1308
+ }
1309
+
1310
+ .license-wrap,
1311
+ .license-no-addons{
1312
+ overflow: hidden;
1313
+ display: block;
1314
+ padding: 15px;
1315
+ border: 1px solid #ccc;
1316
+ border-top: none;
1317
+ background-color: #f7f7f7;
1318
+ border-radius: 0 0 3px 3px;
1319
+ }
1320
+ .license-wrap label{
1321
+ font-weight: 600;
1322
+ position: relative;
1323
+ top:-3px;
1324
+ }
1325
+ .license-wrap input[type=text]{
1326
+ background-color: #fff;
1327
+ margin: 0 0 15px;
1328
+ width: 100% !important;
1329
+ }
1330
+ .license-wrap input[type=text]:focus{
1331
+ background-color: #fff;
1332
+ }
1333
+ .license-wrap .button-primary{
1334
+ margin-right: 5px;
1335
+ }
1336
+ .license-key-field{
1337
+ position: relative;
1338
+ display: block;
1339
+ }
1340
+ .license-key-field .status{
1341
+ position: absolute;
1342
+ right:5px;
1343
+ top: 5px;
1344
+ display: inline-block;
1345
+ border-radius: 2px;
1346
+ padding: 6px 12px;
1347
+ line-height: 1.3;
1348
+ color: #fff;
1349
+ border-color: #999;
1350
+ }
1351
+ .license-key-field .status.active{
1352
+ background-color: #acd481;
1353
+ }
1354
+ .license-key-field .status.inactive{
1355
+ background-color: #d45656;
1356
+ }
1357
+
1358
+ .ajax-load-more .alm-nav{
1359
+ font-size: 600;
1360
+ font-size: 13px;
1361
+ margin: 0 !important;
1362
+ padding: 5px 0 5px;
1363
+ }
1364
+ .ajax-load-more .alm-nav a{
1365
+ display: inline-block;
1366
+ }
1367
+
1368
+
1369
+ .license-no-addons{
1370
+ border: 1px solid #bad0da;
1371
+ border-radius: 3px;
1372
+ background-color: #e0f5ff;
1373
+ }
1374
+ .license-no-addons p{
1375
+ margin: 0;
1376
+ padding: 0;
1377
+ }
1378
 
1379
 
1380
  /*
1381
+ * Plugin Sidebar
1382
+ *
1383
+ * @since 1.0
1384
+ */
1385
  .ajax-load-more .cnkt-sidebar{
1386
  width: 30%;
1387
  float: right;
1427
  .ajax-load-more .cnkt-sidebar li{
1428
  font-size: 13px;
1429
  margin: 0 0 10px;
1430
+ line-height: 1.4;
1431
  }
1432
  .ajax-load-more .cnkt-sidebar .item i{
1433
  font-size: 12px;
2272
  .alm-repeater-options{
2273
  display: none !important;
2274
  }
2275
+
2276
+ .ajax-load-more .wrap-30{
2277
+ width: 100%;
2278
+ display: block;
2279
+ padding: 0 0 10px;
2280
+ }
2281
+ .ajax-load-more .row .wrap.full{
2282
+ padding: 10px;
2283
+ }
2284
 
2285
  }
2286
 
admin/editor/editor-build.php CHANGED
@@ -2,7 +2,7 @@
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
  <title>Ajax Load More: Shortcode Builder</title>
5
- <link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
6
  <link rel="stylesheet" src="<?php echo includes_url($path); ?>js/tinymce/themes/advanced/skins/wp_theme/dialog.css"></link>
7
  <link rel="stylesheet" href="<?php echo ALM_ADMIN_URL; ?>css/admin.css" />
8
  <link rel="stylesheet" href="<?php echo ALM_ADMIN_URL; ?>css/select2.css" />
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
  <title>Ajax Load More: Shortcode Builder</title>
5
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
6
  <link rel="stylesheet" src="<?php echo includes_url($path); ?>js/tinymce/themes/advanced/skins/wp_theme/dialog.css"></link>
7
  <link rel="stylesheet" href="<?php echo ALM_ADMIN_URL; ?>css/admin.css" />
8
  <link rel="stylesheet" href="<?php echo ALM_ADMIN_URL; ?>css/select2.css" />
admin/img/add-ons/paging-add-ons.jpg ADDED
Binary file
admin/shortcode-builder/includes/meta-query-options.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="inner border-top">
2
+ <div class="wrap-30">
3
+ <?php // Meta Key ?>
4
+ <label for="meta-key" class="full"><?php _e('Key (Name):', ALM_NAME); ?></label>
5
+ <input class="alm_element sm meta-key" name="meta-key" type="text" value="" placeholder="<?php _e('Enter custom field key(name)', ALM_NAME); ?>">
6
+ </div>
7
+ <?php // Meta Value ?>
8
+ <div class="wrap-30">
9
+ <label for="meta-value" class="full"><?php _e('Value:', ALM_NAME); ?></label>
10
+ <input class="alm_element sm meta-value" name="meta-value" type="text" value="" placeholder="<?php _e('Enter custom field value', ALM_NAME); ?>">
11
+ </div>
12
+ <?php // Meta Compare ?>
13
+ <div class="wrap-30">
14
+ <label for="meta-compare" class="full"><?php _e('Operator:', ALM_NAME); ?></label>
15
+ <select class="alm_element meta-compare" name="meta-compare">
16
+ <option value="IN" selected="selected">IN</option>
17
+ <option value="NOT IN">NOT IN</option>
18
+ <option value="BETWEEN">BETWEEN</option>
19
+ <option value="NOT BETWEEN">NOT BETWEEN</option>
20
+ <option value="=">= &nbsp;&nbsp; (equals)</option>
21
+ <option value="!=">!= &nbsp; (does NOT equal)</option>
22
+ <option value=">">> &nbsp;&nbsp; (greater than)</option>
23
+ <option value=">=">>= &nbsp;(greater than or equal to)</option>
24
+ <option value="<">&lt; &nbsp;&nbsp; (less than)</option>
25
+ <option value="<=">&lt;= &nbsp;(less than or equal to)</option>
26
+ <option value="LIKE">LIKE</option>
27
+ <option value="NOT LIKE">NOT LIKE</option>
28
+ <option value="EXISTS">EXISTS</option>
29
+ <option value="NOT EXISTS">NOT EXISTS</option>
30
+ </select>
31
+ </div>
32
+ <a class="remove remove-meta-query" href="javascript:void(0);"><i class="fa fa-remove"></i></a>
33
+ </div>
admin/shortcode-builder/js/shortcode-builder.js CHANGED
@@ -17,7 +17,7 @@ jQuery(document).ready(function($) {
17
  */
18
  _alm.select2 = function(){
19
  // Default Select2
20
- $('.row select, .cnkt-main select, select.jump-menu').not('.multiple').select2({});
21
 
22
  // multiple
23
  $('.ajax-load-more .categories select.multiple').select2({
@@ -25,9 +25,6 @@ jQuery(document).ready(function($) {
25
  });
26
  $('.ajax-load-more .tags select.multiple').select2({
27
  placeholder : 'Select Tags'
28
- });
29
- $('.ajax-load-more.settings select.multiple.post-types').select2({
30
- placeholder : 'Select Post Types'
31
  });
32
  };
33
  _alm.select2();
@@ -43,7 +40,58 @@ jQuery(document).ready(function($) {
43
  $('.ajax-load-more .categories select.multiple').select2();
44
  $('.ajax-load-more .tags select.multiple').select2();
45
  };
 
 
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
 
49
  /*
@@ -56,11 +104,10 @@ jQuery(document).ready(function($) {
56
  _alm.buildShortcode = function(){
57
  output = '[ajax_load_more';
58
 
59
-
60
  // ---------------------------
61
  // - Cache
62
- // ---------------------------
63
-
64
  var cache = $('#alm-cache input[name=cache]:checked').val();
65
  if(cache !== 'false' && cache != undefined){
66
  if($('input#cache-id').val() === '')
@@ -76,9 +123,33 @@ jQuery(document).ready(function($) {
76
  }
77
 
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  // ---------------------------
80
  // - Preload
81
  // ---------------------------
 
82
  var seo = $('.seo input[name=seo]:checked').val();
83
  var preload = $('.preload input[name=preload]:checked').val();
84
  if(preload !== 'false' && preload != undefined){
@@ -229,6 +300,70 @@ jQuery(document).ready(function($) {
229
  var dateD = $('.date input#input-day').val(); // Day
230
  if(dateD !== '' && dateD !== undefined && dateD < 32)
231
  output += ' day="'+dateD+'"';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
 
233
 
234
  // ---------------------------
@@ -285,33 +420,6 @@ jQuery(document).ready(function($) {
285
  output += ' custom_args="'+custom_args+'"';
286
 
287
 
288
- // ---------------------------
289
- // - Meta Key
290
- // ---------------------------
291
- var meta_key = $.trim($('input#meta-key').val()),
292
- meta_value = $.trim($('input#meta-value').val()),
293
- meta_compare = $('select#meta-compare').val();
294
-
295
- // Set meta_compare default value
296
- if(meta_compare === '' || meta_compare == undefined)
297
- meta_compare = '=';
298
-
299
- if(meta_key !== '' && meta_key !== undefined){
300
- if($('input#meta-key').hasClass('changed')){
301
- $('#meta-query-extended').slideDown(200, 'alm_easeInOutQuad');
302
-
303
- output += ' meta_key="'+meta_key+'"';
304
- output += ' meta_value="'+meta_value+'"';
305
-
306
- if(meta_compare !== '=')
307
- output += ' meta_compare="'+meta_compare+'"';
308
- }
309
- }else{
310
- $('#meta-query-extended').slideUp(200, 'alm_easeInOutQuad');
311
- $('input#meta-key').removeClass('changed');
312
- }
313
-
314
-
315
  // ---------------------------
316
  // - Ordering
317
  // ---------------------------
@@ -404,7 +512,17 @@ jQuery(document).ready(function($) {
404
  var btn_lbl = $('.btn-label input').val();
405
  btn_lbl = $.trim(btn_lbl);
406
  if(btn_lbl !== '' && $('.btn-label input').hasClass('changed'))
407
- output += ' button_label="'+btn_lbl+'"';
 
 
 
 
 
 
 
 
 
 
408
 
409
 
410
  output += ']'; //Close shortcode
@@ -499,6 +617,7 @@ jQuery(document).ready(function($) {
499
 
500
 
501
  /* Table of Contents */
 
502
  $('.table-of-contents .toc').append('<option value="#">-- Jump to Option --</option>');
503
  $('.table-of-contents .toc').append(jumpOptions).select2();
504
 
@@ -511,6 +630,8 @@ jQuery(document).ready(function($) {
511
  }
512
  });
513
 
 
 
514
  function almResizeTOC(){
515
  var tocW = $('.cnkt-sidebar').width();
516
  $('.table-of-contents').css('width', tocW + 'px');
@@ -519,8 +640,7 @@ jQuery(document).ready(function($) {
519
 
520
  $(window).resize(function() {
521
  almResizeTOC()
522
- });
523
-
524
 
525
  $(window).scroll(function(){
526
  almSidebarAttach();
@@ -636,8 +756,7 @@ jQuery(document).ready(function($) {
636
 
637
  _alm.generateUniqueID = function(length) {
638
  var id = Math.floor(Math.pow(10, length-1) + Math.random() * 9 * Math.pow(10, length-1));
639
- $('#cache-id').val(id);
640
-
641
  }
642
 
643
 
17
  */
18
  _alm.select2 = function(){
19
  // Default Select2
20
+ $('.row select, .cnkt-main select, select.jump-menu').not('.multiple, .meta-compare').select2({});
21
 
22
  // multiple
23
  $('.ajax-load-more .categories select.multiple').select2({
25
  });
26
  $('.ajax-load-more .tags select.multiple').select2({
27
  placeholder : 'Select Tags'
 
 
 
28
  });
29
  };
30
  _alm.select2();
40
  $('.ajax-load-more .categories select.multiple').select2();
41
  $('.ajax-load-more .tags select.multiple').select2();
42
  };
43
+
44
+
45
 
46
+ // Add additional meta_query
47
+ var meta_query_obj = $('.meta-query-wrap').eq(0).clone();
48
+ $('.meta-query-wrap .remove').remove();
49
+ $('select.meta-compare').select2();
50
+ $('#add-meta-query').on('click', function(e){
51
+ e.preventDefault();
52
+
53
+ if($('.meta-query-wrap').length > 3){
54
+ alert("Sorry, There is a maximum of 4 meta_query objects.");
55
+ return false;
56
+ }
57
+
58
+ var target = $('#meta-query-extended');
59
+ $('input, select', meta_query_obj).val('');
60
+ var el = meta_query_obj.clone().hide();
61
+ target.append(el);
62
+ el.fadeIn(200);
63
+ $('#meta-query-extended select').select2();
64
+
65
+ if($('.meta-query-wrap').length > 1){
66
+ $('#meta-query-relation').fadeIn(150);
67
+ }else{
68
+ $('#meta-query-relation').fadeOut(150);
69
+ }
70
+
71
+ $('select.meta-compare').select2();
72
+
73
+ if($('.meta-query-wrap').length > 3){ // Hide "Add" button if 4 $('.meta-query-wrap')
74
+ $('#alm-meta-key .controls').delay(200).slideUp(150, 'alm_easeInOutQuad');
75
+ }
76
+
77
+ });
78
+
79
+ /* Delete Meta Query */
80
+ $(document).on('click', '.remove-meta-query', function(e){
81
+ var el = $(this);
82
+ el.parent().parent('.meta-query-wrap').addClass('removing');
83
+ el.parent().parent('.meta-query-wrap').fadeOut(200, function(){
84
+ el.parent().parent('.meta-query-wrap').remove();
85
+ _alm.buildShortcode();
86
+ });
87
+
88
+ if($('.meta-query-wrap').length > 3){ // Show "Add" button if less than 4 $('.meta-query-wrap')
89
+ $('#alm-meta-key .controls').delay(200).slideDown(200, 'alm_easeInOutQuad');
90
+ }
91
+
92
+ });
93
+
94
+
95
 
96
 
97
  /*
104
  _alm.buildShortcode = function(){
105
  output = '[ajax_load_more';
106
 
 
107
  // ---------------------------
108
  // - Cache
109
+ // ---------------------------
110
+
111
  var cache = $('#alm-cache input[name=cache]:checked').val();
112
  if(cache !== 'false' && cache != undefined){
113
  if($('input#cache-id').val() === '')
123
  }
124
 
125
 
126
+ // ---------------------------
127
+ // - PAGING
128
+ // ---------------------------
129
+
130
+ var paging = $('#alm-paging input[name=paging]:checked').val();
131
+ var paging_controls = $('#alm-paging input[name=paging-controls]:checked').val();
132
+ var paging_show_at_most = $('#alm-paging input#show-at-most').val();
133
+ var paging_classes = $('#alm-paging input#paging-classes').val();
134
+ if(paging !== 'false' && paging != undefined){
135
+ output += ' paging="'+paging+'"';
136
+ output += ' paging_controls="'+paging_controls+'"';
137
+ output += ' paging_show_at_most="'+paging_show_at_most+'"';
138
+ if(paging_classes !== ''){
139
+ output += ' paging_classes="'+paging_classes+'"';
140
+ }
141
+ $('#nav-controls').slideDown(100, 'alm_easeInOutQuad');
142
+ }else{
143
+ $('#nav-controls').slideUp(100, 'alm_easeInOutQuad');
144
+ }
145
+
146
+
147
+
148
+
149
  // ---------------------------
150
  // - Preload
151
  // ---------------------------
152
+
153
  var seo = $('.seo input[name=seo]:checked').val();
154
  var preload = $('.preload input[name=preload]:checked').val();
155
  if(preload !== 'false' && preload != undefined){
300
  var dateD = $('.date input#input-day').val(); // Day
301
  if(dateD !== '' && dateD !== undefined && dateD < 32)
302
  output += ' day="'+dateD+'"';
303
+
304
+
305
+
306
+ // ---------------------------
307
+ // - Custom Fields Meta Query
308
+ // ---------------------------
309
+ var meta_key = $.trim($('.meta-query-wrap').eq(0).find('input.meta-key').val()),
310
+ meta_value = $.trim($('.meta-query-wrap').eq(0).find('input.meta-value').val()),
311
+ meta_compare = $('.meta-query-wrap').eq(0).find('select.meta-compare').val(),
312
+ meta_relation = $('select.meta-relation').val(),
313
+ meta_query_length = $('.meta-query-wrap').length;
314
+
315
+ // Set meta_compare default value
316
+ if(meta_compare === '' || meta_compare == undefined)
317
+ meta_compare = '=';
318
+
319
+ // Single Meta_Query()
320
+ if(meta_query_length === 1){
321
+ if(meta_key !== '' && meta_key !== undefined){
322
+ output += ' meta_key="'+meta_key+'"';
323
+ output += ' meta_value="'+meta_value+'"';
324
+
325
+ if(meta_compare !== '=')
326
+ output += ' meta_compare="'+meta_compare+'"';
327
+
328
+ }
329
+ }
330
+ // Multiple Meta_Query()
331
+ if(meta_query_length > 1){
332
+ meta_key = '';
333
+ meta_value = '';
334
+ meta_compare = '';
335
+ $('.meta-query-wrap').each(function(e){
336
+ var el = $(this),
337
+ mk = $.trim(el.find('input.meta-key').val()),
338
+ mv = $.trim(el.find('input.meta-value').val()),
339
+ mc = $.trim(el.find('select.meta-compare').val());
340
+
341
+ if(e === 0){ // first on first only
342
+ meta_key += mk;
343
+ meta_value += mv;
344
+ meta_compare += mc;
345
+ }else{
346
+ if(mk.length > 0 && mv.length > 0){
347
+ meta_key += ':'+ mk;
348
+ meta_value += ':'+ mv;
349
+ meta_compare += ':'+ mc;
350
+ }
351
+ }
352
+
353
+ });
354
+ output += ' meta_key="'+meta_key+'"';
355
+ output += ' meta_value="'+meta_value+'"';
356
+ output += ' meta_compare="'+meta_compare+'"';
357
+
358
+ var isRelation = $('#meta-query-relation').css("display");
359
+ if(meta_relation !== '' && meta_relation !== undefined && isRelation === 'block'){
360
+ output += ' meta_relation="'+meta_relation+'"';
361
+ }
362
+
363
+ }else{
364
+ $('#meta-query-relation').fadeOut(150);
365
+ }
366
+
367
 
368
 
369
  // ---------------------------
420
  output += ' custom_args="'+custom_args+'"';
421
 
422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  // ---------------------------
424
  // - Ordering
425
  // ---------------------------
512
  var btn_lbl = $('.btn-label input').val();
513
  btn_lbl = $.trim(btn_lbl);
514
  if(btn_lbl !== '' && $('.btn-label input').hasClass('changed'))
515
+ output += ' button_label="'+btn_lbl+'"';
516
+
517
+
518
+ // ---------------------------
519
+ // - Container Classes
520
+ // ---------------------------
521
+
522
+ var container_classes = $('.alm-classes input').val();
523
+ container_classes = $.trim(container_classes);
524
+ if(container_classes !== '' && $('.alm-classes input').hasClass('changed'))
525
+ output += ' css_classes="'+container_classes+'"';
526
 
527
 
528
  output += ']'; //Close shortcode
617
 
618
 
619
  /* Table of Contents */
620
+
621
  $('.table-of-contents .toc').append('<option value="#">-- Jump to Option --</option>');
622
  $('.table-of-contents .toc').append(jumpOptions).select2();
623
 
630
  }
631
  });
632
 
633
+ /* Table of Contents - onResize */
634
+
635
  function almResizeTOC(){
636
  var tocW = $('.cnkt-sidebar').width();
637
  $('.table-of-contents').css('width', tocW + 'px');
640
 
641
  $(window).resize(function() {
642
  almResizeTOC()
643
+ });
 
644
 
645
  $(window).scroll(function(){
646
  almSidebarAttach();
756
 
757
  _alm.generateUniqueID = function(length) {
758
  var id = Math.floor(Math.pow(10, length-1) + Math.random() * 9 * Math.pow(10, length-1));
759
+ $('#cache-id').val(id);
 
760
  }
761
 
762
 
admin/shortcode-builder/shortcode-builder.php CHANGED
@@ -16,7 +16,6 @@
16
  <h3 class="heading"><?php _e('Cache', ALM_NAME); ?></h3>
17
  <div class="expand-wrap">
18
  <div class="section-title">
19
- <h4>Enable Caching</h4>
20
  <p><?php _e('Turn on content caching for this Ajax Load More query.', ALM_NAME); ?></p>
21
  </div>
22
  <div class="wrap">
@@ -53,6 +52,83 @@
53
  </div>
54
  <?php } ?>
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  <?php if(has_action('alm_preload_installed')){ ?>
57
  <!-- PRELOAD -->
58
  <div class="row input preload add-on" id="alm-preload">
@@ -393,47 +469,38 @@
393
  </div>
394
 
395
 
396
- <?php // Custom Fields ?>
397
  <div class="row input meta-key" id="alm-meta-key">
398
- <h3 class="heading"><?php _e('Custom Fields (Meta)', ALM_NAME); ?></h3>
399
  <div class="expand-wrap">
400
- <div class="section-title">
401
- <p><?php _e('Query by <a href="http://codex.wordpress.org/Class_Reference/WP_Meta_Query" target="_blank">custom fields</a>. Enter your key(name) and value, then select your operator.', ALM_NAME); ?></p>
402
  </div>
403
- <div class="wrap">
404
- <div class="inner">
405
- <?php // Meta Key ?>
406
- <label for="meta-key" class="full"><?php _e('Key (Name):', ALM_NAME); ?></label>
407
- <input class="alm_element" name="meta-key" type="text" id="meta-key" value="" placeholder="<?php _e('Enter custom field key(name)', ALM_NAME); ?>">
408
- </div>
409
- <div id="meta-query-extended">
410
- <?php // Meta Value ?>
411
- <div class="inner border-top">
412
- <label for="meta-value" class="full"><?php _e('Value:', ALM_NAME); ?></label>
413
- <input class="alm_element" name="meta-value" type="text" id="meta-value" value="" placeholder="<?php _e('Enter custom field value', ALM_NAME); ?>">
414
- </div>
415
- <?php // Meta Compare ?>
416
- <div class="inner border-top">
417
- <label for="meta-compare" class="full"><?php _e('Operator:', ALM_NAME); ?></label>
418
- <select class="alm_element" id="meta-compare" name="meta-compare">
419
- <option value="IN" selected="selected">IN</option>
420
- <option value="NOT IN">NOT IN</option>
421
- <option value="BETWEEN">BETWEEN</option>
422
- <option value="NOT BETWEEN">NOT BETWEEN</option>
423
- <option value="=">= &nbsp;&nbsp; (equals)</option>
424
- <option value="!=">!= &nbsp; (does NOT equal)</option>
425
- <option value=">">> &nbsp;&nbsp; (greater than)</option>
426
- <option value=">=">>= &nbsp;(greater than or equal to)</option>
427
- <option value="<">&lt; &nbsp;&nbsp; (less than)</option>
428
- <option value="<=">&lt;= &nbsp;(less than or equal to)</option>
429
- <option value="LIKE">LIKE</option>
430
- <option value="NOT LIKE">NOT LIKE</option>
431
- <option value="EXISTS">EXISTS</option>
432
- <option value="NOT EXISTS">NOT EXISTS</option>
433
- </select>
434
- </div>
435
  </div>
436
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
437
  </div>
438
  </div>
439
 
@@ -488,7 +555,7 @@
488
  <h3 class="heading"><?php _e('Custom Arguments', ALM_NAME); ?></h3>
489
  <div class="expand-wrap">
490
  <div class="section-title">
491
- <p><?php _e('A comma separated list of custom value:pair arguments.<br/><br/>e.g. tag_slug__and:array(design), event_display:upcoming', ALM_NAME); ?></p>
492
  </div>
493
  <div class="wrap">
494
  <div class="inner">
@@ -496,6 +563,7 @@
496
  </div>
497
  </div>
498
  </div>
 
499
  </div>
500
 
501
  <!-- Post Parameters -->
@@ -572,6 +640,7 @@
572
  <option value="author">Author</option>
573
  <option value="ID">ID</option>
574
  <option value="comment_count">Comment Count</option>
 
575
  </select>
576
  </div>
577
  </div>
@@ -587,7 +656,7 @@
587
  </div>
588
  <div class="wrap">
589
  <div class="inner">
590
- <input type="number" class="alm_element numbers-only" name="offset-select" id="offset-select" step="1" min="0">
591
  </div>
592
  </div>
593
  </div>
@@ -742,5 +811,20 @@
742
  </div>
743
  </div>
744
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
745
  <div class="clear"></div>
746
 
16
  <h3 class="heading"><?php _e('Cache', ALM_NAME); ?></h3>
17
  <div class="expand-wrap">
18
  <div class="section-title">
 
19
  <p><?php _e('Turn on content caching for this Ajax Load More query.', ALM_NAME); ?></p>
20
  </div>
21
  <div class="wrap">
52
  </div>
53
  <?php } ?>
54
 
55
+ <?php if(has_action('alm_paging_installed')){ ?>
56
+ <!-- PAGING -->
57
+ <div class="row input paging add-on" id="alm-paging">
58
+ <h3 class="heading"><?php _e('Paging', ALM_NAME); ?></h3>
59
+ <div class="expand-wrap">
60
+ <div class="section-title">
61
+ <p><?php _e('Replace infinite scrolling with a paged ajax navigation system.', ALM_NAME); ?></p>
62
+ </div>
63
+ <div class="wrap">
64
+ <div class="inner">
65
+ <ul>
66
+ <li>
67
+ <input class="alm_element" type="radio" name="paging" value="true" id="paging-true" >
68
+ <label for="paging-true"><?php _e('True', ALM_NAME); ?></label>
69
+ </li>
70
+ <li>
71
+ <input class="alm_element" type="radio" name="paging" value="false" id="paging-false" checked="checked">
72
+ <label for="paging-false"><?php _e('False', ALM_NAME); ?></label>
73
+ </li>
74
+ </ul>
75
+ </div>
76
+ </div>
77
+
78
+ <div class="clear"></div>
79
+ <div id="nav-controls">
80
+
81
+ <hr/>
82
+ <div class="section-title">
83
+ <h4><?php _e('Paging Controls', ALM_NAME); ?></h4>
84
+ <p><?php _e('Show (&laquo;)previous and next(&raquo;) buttons.', ALM_NAME); ?></p>
85
+ </div>
86
+ <div class="wrap">
87
+ <div class="inner">
88
+ <ul>
89
+ <li>
90
+ <input class="alm_element" type="radio" name="paging-controls" value="true" id="paging-controls-true" >
91
+ <label for="paging-controls-true"><?php _e('True', ALM_NAME); ?></label>
92
+ </li>
93
+ <li>
94
+ <input class="alm_element" type="radio" name="paging-controls" value="false" id="paging-controls-false" checked="checked">
95
+ <label for="paging-controls-false"><?php _e('False', ALM_NAME); ?></label>
96
+ </li>
97
+ </ul>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="clear"></div>
102
+ <hr/>
103
+ <div class="section-title">
104
+ <h4><?php _e('Paging Navigation Classes', ALM_NAME); ?></h4>
105
+ <p><?php _e('Add custom CSS classes to the paging navigation menu.', ALM_NAME); ?></p>
106
+ </div>
107
+ <div class="wrap">
108
+ <div class="inner">
109
+ <input type="text" class="alm_element" name="paging-classes" id="paging-classes" placeholder="portfolio-paging-menu">
110
+ </div>
111
+ </div>
112
+
113
+ <div class="clear"></div>
114
+ <hr/>
115
+ <div class="section-title">
116
+ <h4><?php _e('Show at Most', ALM_NAME); ?></h4>
117
+ <p><?php _e('The maximum amount of page menu items to show at a time. <br/.>0 = no maximum', ALM_NAME); ?></p>
118
+ </div>
119
+ <div class="wrap">
120
+ <div class="inner">
121
+ <input type="number" class="alm_element numbers-only" name="show-at-most" id="show-at-most" step="2" min="0" value="7">
122
+ </div>
123
+ </div>
124
+
125
+ </div>
126
+
127
+ </div>
128
+ </div>
129
+ <?php } ?>
130
+
131
+
132
  <?php if(has_action('alm_preload_installed')){ ?>
133
  <!-- PRELOAD -->
134
  <div class="row input preload add-on" id="alm-preload">
469
  </div>
470
 
471
 
472
+ <?php // Meta_Query / Custom Fields ?>
473
  <div class="row input meta-key" id="alm-meta-key">
474
+ <h3 class="heading"><?php _e('Custom Fields (Meta_Query)', ALM_NAME); ?></h3>
475
  <div class="expand-wrap">
476
+ <div class="section-title full">
477
+ <p><?php _e('Query for <a href="http://codex.wordpress.org/Class_Reference/WP_Meta_Query" target="_blank">custom field</a> by entering a custom field key, value and operator.', ALM_NAME); ?></p>
478
  </div>
479
+ <div class="wrap full">
480
+
481
+ <div class="meta-query-wrap">
482
+ <?php include( ALM_PATH . 'admin/shortcode-builder/includes/meta-query-options.php'); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
483
  </div>
484
+ <div id="meta-query-relation">
485
+ <div class="inner border-top highlighted">
486
+ <div class="wrap-30">
487
+ <label for="meta-relation" class="full"><?php _e('Relation:', ALM_NAME); ?></label>
488
+ <select class="alm_element meta-relation" name="meta-relation">
489
+ <option value="AND" selected="selected">AND</option>
490
+ <option value="OR">OR</option>
491
+ </select>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ <div id="meta-query-extended">
496
+
497
+ </div>
498
+
499
+ <div class="inner border-top controls">
500
+ <button class="button button-primary" id="add-meta-query"><?php _e('Add Another', ALM_NAME); ?></button>
501
+ </div>
502
+
503
+ </div>
504
  </div>
505
  </div>
506
 
555
  <h3 class="heading"><?php _e('Custom Arguments', ALM_NAME); ?></h3>
556
  <div class="expand-wrap">
557
  <div class="section-title">
558
+ <p><?php _e('A semicolon separated list of custom value:pair arguments.<br/><br/>e.g. tag_slug__and:design,development; event_display:upcoming. Default', ALM_NAME); ?></p>
559
  </div>
560
  <div class="wrap">
561
  <div class="inner">
563
  </div>
564
  </div>
565
  </div>
566
+ <p class="warning-callout"><em>custom_args</em> syntax has changed and can now accept an array of values.</p>
567
  </div>
568
 
569
  <!-- Post Parameters -->
640
  <option value="author">Author</option>
641
  <option value="ID">ID</option>
642
  <option value="comment_count">Comment Count</option>
643
+ <option value="meta_value_num">meta_value_num</option>
644
  </select>
645
  </div>
646
  </div>
656
  </div>
657
  <div class="wrap">
658
  <div class="inner">
659
+ <input type="number" class="alm_element numbers-only" name="offset-select" id="offset-select" value="0" step="1" min="0">
660
  </div>
661
  </div>
662
  </div>
811
  </div>
812
  </div>
813
 
814
+ <!-- Container Classes -->
815
+ <div class="row input alm-classes" id="alm-classes">
816
+ <h3 class="heading"><?php _e('Container Classes', ALM_NAME); ?></h3>
817
+ <div class="expand-wrap">
818
+ <div class="section-title">
819
+ <p><?php _e('Add custom CSS classes to the Ajax Load More container. <br/><br/> e.g. portfolio-listing large-12 etc', ALM_NAME); ?></p>
820
+ </div>
821
+ <div class="wrap">
822
+ <div class="inner">
823
+ <input class="alm_element" name="container-classes" type="text" id="container-classes" placeholder="portfolio-listing large-12">
824
+ </div>
825
+ </div>
826
+ </div>
827
+ </div>
828
+
829
  <div class="clear"></div>
830
 
admin/views/add-ons.php CHANGED
@@ -6,7 +6,7 @@
6
  </div>
7
  <div class="cnkt-main">
8
 
9
- <!-- Custom Repeaters -->
10
  <div class="group">
11
  <div class="row no-brd">
12
  <div class="expand-wrap">
@@ -29,9 +29,10 @@
29
  }
30
  ?>
31
  </div>
32
- <!-- End Custom Repeaters -->
33
 
34
- <!-- Custom Repeaters -->
 
35
  <div class="group">
36
  <div class="row no-brd">
37
  <div class="expand-wrap">
@@ -54,7 +55,34 @@
54
  }
55
  ?>
56
  </div>
57
- <!-- End Custom Repeaters -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
  <!-- Preloaded -->
60
  <div class="group">
@@ -81,6 +109,7 @@
81
  </div>
82
  <!-- End Preloaded -->
83
 
 
84
  <!-- SEO -->
85
  <div class="group">
86
  <div class="row no-brd">
6
  </div>
7
  <div class="cnkt-main">
8
 
9
+ <!-- Cache -->
10
  <div class="group">
11
  <div class="row no-brd">
12
  <div class="expand-wrap">
29
  }
30
  ?>
31
  </div>
32
+ <!-- End Cache -->
33
 
34
+
35
+ <!-- Custom Repeaters v2 -->
36
  <div class="group">
37
  <div class="row no-brd">
38
  <div class="expand-wrap">
55
  }
56
  ?>
57
  </div>
58
+ <!-- End Custom Repeaters v2 -->
59
+
60
+
61
+ <!-- Paging -->
62
+ <div class="group">
63
+ <div class="row no-brd">
64
+ <div class="expand-wrap">
65
+ <div class="section-title">
66
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/paging-add-ons.jpg">
67
+ </div>
68
+ <div class="wrap">
69
+ <h2 class="addon-title"><?php _e('Paging', ALM_NAME); ?></h2>
70
+ <p class="addon-intro"><?php _e('Extend Ajax Load More with a numbered paging navigation.', ALM_NAME); ?></p>
71
+ <p><?php _e('The Paging add-on will transform the Ajax Load More lazy load/infinite scroll functionality into a robust ajax powered navigation system.', ALM_NAME); ?></p>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ <?php
76
+ $paging_url = 'http://connekthq.com/plugins/ajax-load-more/paging/';
77
+ if (has_action('alm_paging_installed')){
78
+ echo '<a class="cnkt-button installed" href="'. $paging_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
79
+ }else{
80
+ echo '<a class="cnkt-button" href="'. $paging_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
81
+ }
82
+ ?>
83
+ </div>
84
+ <!-- End Custom Repeaters v2 -->
85
+
86
 
87
  <!-- Preloaded -->
88
  <div class="group">
109
  </div>
110
  <!-- End Preloaded -->
111
 
112
+
113
  <!-- SEO -->
114
  <div class="group">
115
  <div class="row no-brd">
admin/views/licenses.php ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="admin ajax-load-more" id="alm-licenses">
2
+ <div class="wrap">
3
+ <div class="header-wrap">
4
+ <h2><?php echo ALM_TITLE; ?>: <strong><?php _e('Licenses', ALM_NAME); ?></strong></h2>
5
+ <p><?php _e('Enter your license keys to enable automatic updates for <a href="admin.php?page=ajax-load-more-add-ons">ALM Add-ons</a>.', ALM_NAME); ?></p>
6
+ </div>
7
+ <div class="cnkt-main">
8
+ <div class="group">
9
+ <h3><?php _e('License Keys', ALM_NAME); ?></h3>
10
+
11
+ <p><?php _e('Manage your Ajax Load More license key\'s below - enter a key for each of your add-ons to receive plugin update notifications directly within the <a href="plugins.php">WP Plugins dashboard</a>.', ALM_NAME); ?></p>
12
+
13
+ <?php
14
+ // alm_cache_installed
15
+ // alm_unlimited_installed
16
+ // alm_preload_installed
17
+ // alm_paging_installed
18
+ // alm_seo_installed
19
+ ?>
20
+
21
+ <?php
22
+ // Check if any add ons are installed.
23
+ if(has_action('alm_cache_installed') || has_action('alm_unlimited_installed') || has_action('alm_preload_installed') || has_action('alm_paging_installed') || has_action('alm_seo_installed')) : ?>
24
+
25
+
26
+ <?php
27
+ if (has_action('alm_cache_installed')){
28
+ // CACHE
29
+ $alm_cache_license = get_option( 'alm_cache_license_key' );
30
+ $alm_cache_status = get_option( 'alm_cache_license_status' );
31
+ ?>
32
+ <div class="license" id="license-paging">
33
+ <div class="license-title">
34
+ <div class="status <?php if($alm_cache_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
35
+ <h2><?php _e('Cache', ALM_NAME); ?></h2>
36
+ <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/cache/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
37
+ </div>
38
+ <div class="license-wrap">
39
+ <form method="post" action="options.php">
40
+
41
+ <?php settings_fields('alm_cache_license'); ?>
42
+ <label class="description" for="alm_cache_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
43
+ <div class="license-key-field">
44
+ <input id="alm_cache_license_key" name="alm_cache_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_cache_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
45
+ <?php if( $alm_cache_status !== false && $alm_cache_status == 'valid' ) { ?>
46
+ <span class="status active">
47
+ <?php _e('Active', ALM_NAME); ?>
48
+ </span>
49
+ <?php } else { ?>
50
+ <span class="status inactive">
51
+ <?php _e('In-active', ALM_NAME); ?>
52
+ </span>
53
+ <?php } ?>
54
+ </div>
55
+
56
+ <?php wp_nonce_field( 'alm_cache_license_nonce', 'alm_cache_license_nonce' ); ?>
57
+ <?php if($alm_cache_status === '' || $alm_cache_status !== 'valid') {
58
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
59
+ } ?>
60
+
61
+ <?php if( false !== $alm_cache_license ) { ?>
62
+
63
+ <?php if( $alm_cache_status !== false && $alm_cache_status == 'valid' ) { ?>
64
+ <input type="submit" class="button-secondary" name="alm_cache_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
65
+ <?php } else { ?>
66
+ <?php if(!empty($alm_cache_license)){ ?>
67
+ <input type="submit" class="button-secondary" name="alm_cache_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
68
+ <?php } ?>
69
+ <?php } ?>
70
+ <?php } ?>
71
+
72
+ </form>
73
+ </div>
74
+ </div>
75
+ <?php
76
+ }
77
+ // End CACHE
78
+ ?>
79
+
80
+
81
+ <?php
82
+ if (has_action('alm_unlimited_installed')){
83
+ // PAGING
84
+ $alm_unlimited_license = get_option( 'alm_unlimited_license_key' );
85
+ $alm_unlimited_status = get_option( 'alm_unlimited_license_status' );
86
+ ?>
87
+ <div class="license" id="license-paging">
88
+ <div class="license-title">
89
+ <div class="status <?php if($alm_unlimited_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
90
+ <h2><?php _e('Custom Repeaters v2', ALM_NAME); ?></h2>
91
+ <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/paging/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
92
+ </div>
93
+ <div class="license-wrap">
94
+ <form method="post" action="options.php">
95
+
96
+ <?php settings_fields('alm_unlimited_license'); ?>
97
+ <label class="description" for="alm_unlimited_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
98
+ <div class="license-key-field">
99
+ <input id="alm_unlimited_license_key" name="alm_unlimited_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_unlimited_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
100
+ <?php if( $alm_unlimited_status !== false && $alm_unlimited_status == 'valid' ) { ?>
101
+ <span class="status active">
102
+ <?php _e('Active', ALM_NAME); ?>
103
+ </span>
104
+ <?php } else { ?>
105
+ <span class="status inactive">
106
+ <?php _e('In-active', ALM_NAME); ?>
107
+ </span>
108
+ <?php } ?>
109
+ </div>
110
+
111
+ <?php wp_nonce_field( 'alm_unlimited_license_nonce', 'alm_unlimited_license_nonce' ); ?>
112
+ <?php if($alm_unlimited_status === '' || $alm_unlimited_status !== 'valid') {
113
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
114
+ } ?>
115
+
116
+ <?php if( false !== $alm_unlimited_license ) { ?>
117
+
118
+ <?php if( $alm_unlimited_status !== false && $alm_unlimited_status == 'valid' ) { ?>
119
+ <input type="submit" class="button-secondary" name="alm_unlimited_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
120
+ <?php } else { ?>
121
+ <?php if(!empty($alm_unlimited_license)){ ?>
122
+ <input type="submit" class="button-secondary" name="alm_unlimited_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
123
+ <?php } ?>
124
+ <?php } ?>
125
+ <?php } ?>
126
+
127
+ </form>
128
+ </div>
129
+ </div>
130
+ <?php
131
+ }
132
+ // End PAGING
133
+ ?>
134
+
135
+
136
+ <?php
137
+ if (has_action('alm_paging_installed')){
138
+ // PAGING
139
+ $alm_paging_license = get_option( 'alm_paging_license_key' );
140
+ $alm_paging_status = get_option( 'alm_paging_license_status' );
141
+ ?>
142
+ <div class="license" id="license-paging">
143
+ <div class="license-title">
144
+ <div class="status <?php if($alm_paging_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
145
+ <h2><?php _e('Paging', ALM_NAME); ?></h2>
146
+ <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/paging/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
147
+ </div>
148
+ <div class="license-wrap">
149
+ <form method="post" action="options.php">
150
+
151
+ <?php settings_fields('alm_paging_license'); ?>
152
+ <label class="description" for="alm_paging_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
153
+ <div class="license-key-field">
154
+ <input id="alm_paging_license_key" name="alm_paging_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_paging_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
155
+ <?php if( $alm_paging_status !== false && $alm_paging_status == 'valid' ) { ?>
156
+ <span class="status active">
157
+ <?php _e('Active', ALM_NAME); ?>
158
+ </span>
159
+ <?php } else { ?>
160
+ <span class="status inactive">
161
+ <?php _e('In-active', ALM_NAME); ?>
162
+ </span>
163
+ <?php } ?>
164
+ </div>
165
+
166
+ <?php wp_nonce_field( 'alm_paging_license_nonce', 'alm_paging_license_nonce' ); ?>
167
+ <?php if($alm_paging_status === '' || $alm_paging_status !== 'valid') {
168
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
169
+ } ?>
170
+
171
+ <?php if( false !== $alm_paging_license ) { ?>
172
+
173
+ <?php if( $alm_paging_status !== false && $alm_paging_status == 'valid' ) { ?>
174
+ <input type="submit" class="button-secondary" name="alm_paging_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
175
+ <?php } else { ?>
176
+ <?php if(!empty($alm_paging_license)){ ?>
177
+ <input type="submit" class="button-secondary" name="alm_paging_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
178
+ <?php } ?>
179
+ <?php } ?>
180
+ <?php } ?>
181
+
182
+ </form>
183
+ </div>
184
+ </div>
185
+ <?php
186
+ }
187
+ // End PAGING
188
+ ?>
189
+
190
+ <?php
191
+ if (has_action('alm_preload_installed')){
192
+ // PRELOADED
193
+ $alm_preloaded_license = get_option( 'alm_preloaded_license_key' );
194
+ $alm_preloaded_status = get_option( 'alm_preloaded_license_status' );
195
+ ?>
196
+ <div class="license" id="license-paging">
197
+ <div class="license-title">
198
+ <div class="status <?php if($alm_preloaded_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
199
+ <h2><?php _e('Preloaded', ALM_NAME); ?></h2>
200
+ <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/preloaded/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
201
+ </div>
202
+ <div class="license-wrap">
203
+ <form method="post" action="options.php">
204
+
205
+ <?php settings_fields('alm_preloaded_license'); ?>
206
+ <label class="description" for="alm_preloaded_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
207
+ <div class="license-key-field">
208
+ <input id="alm_preloaded_license_key" name="alm_preloaded_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_preloaded_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
209
+ <?php if( $alm_preloaded_status !== false && $alm_preloaded_status == 'valid' ) { ?>
210
+ <span class="status active">
211
+ <?php _e('Active', ALM_NAME); ?>
212
+ </span>
213
+ <?php } else { ?>
214
+ <span class="status inactive">
215
+ <?php _e('In-active', ALM_NAME); ?>
216
+ </span>
217
+ <?php } ?>
218
+ </div>
219
+
220
+ <?php wp_nonce_field( 'alm_preloaded_license_nonce', 'alm_preloaded_license_nonce' ); ?>
221
+ <?php if($alm_preloaded_status === '' || $alm_preloaded_status !== 'valid') {
222
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
223
+ } ?>
224
+
225
+ <?php if( false !== $alm_preloaded_license ) { ?>
226
+
227
+ <?php if( $alm_preloaded_status !== false && $alm_preloaded_status == 'valid' ) { ?>
228
+ <input type="submit" class="button-secondary" name="alm_preloaded_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
229
+ <?php } else { ?>
230
+ <?php if(!empty($alm_preloaded_license)){ ?>
231
+ <input type="submit" class="button-secondary" name="alm_preloaded_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
232
+ <?php } ?>
233
+ <?php } ?>
234
+ <?php } ?>
235
+
236
+ </form>
237
+ </div>
238
+ </div>
239
+ <?php
240
+ }
241
+ // End PRELOADED
242
+ ?>
243
+
244
+
245
+ <?php
246
+ if (has_action('alm_seo_installed')){
247
+ // SEO
248
+ $alm_seo_license = get_option( 'alm_seo_license_key' );
249
+ $alm_seo_status = get_option( 'alm_seo_license_status' );
250
+ ?>
251
+ <div class="license" id="license-paging">
252
+ <div class="license-title">
253
+ <div class="status <?php if($alm_seo_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
254
+ <h2><?php _e('Search Engine Optimization', ALM_NAME); ?></h2>
255
+ <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/seo/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
256
+ </div>
257
+ <div class="license-wrap">
258
+ <form method="post" action="options.php">
259
+
260
+ <?php settings_fields('alm_seo_license'); ?>
261
+ <label class="description" for="alm_seo_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
262
+ <div class="license-key-field">
263
+ <input id="alm_seo_license_key" name="alm_seo_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_seo_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
264
+ <?php if( $alm_seo_status !== false && $alm_seo_status == 'valid' ) { ?>
265
+ <span class="status active">
266
+ <?php _e('Active', ALM_NAME); ?>
267
+ </span>
268
+ <?php } else { ?>
269
+ <span class="status inactive">
270
+ <?php _e('In-active', ALM_NAME); ?>
271
+ </span>
272
+ <?php } ?>
273
+ </div>
274
+
275
+ <?php wp_nonce_field( 'alm_seo_license_nonce', 'alm_seo_license_nonce' ); ?>
276
+ <?php if($alm_seo_status === '' || $alm_seo_status !== 'valid') {
277
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
278
+ } ?>
279
+
280
+ <?php if( false !== $alm_seo_license ) { ?>
281
+
282
+ <?php if( $alm_seo_status !== false && $alm_seo_status == 'valid' ) { ?>
283
+ <input type="submit" class="button-secondary" name="alm_seo_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
284
+ <?php } else { ?>
285
+ <?php if(!empty($alm_seo_license)){ ?>
286
+ <input type="submit" class="button-secondary" name="alm_seo_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
287
+ <?php } ?>
288
+ <?php } ?>
289
+ <?php } ?>
290
+
291
+ </form>
292
+ </div>
293
+ </div>
294
+ <?php
295
+ }
296
+ // End SEO
297
+ ?>
298
+
299
+
300
+ <?php else : ?>
301
+
302
+ <div class="license-no-addons">
303
+ <p><?php _e('You do not have any Ajax Load More add-ons installed', ALM_NAME); ?>. &raquo; <a href="admin.php?page=ajax-load-more-add-ons"><strong><?php _e('Browse Add-ons', ALM_NAME); ?></strong></a></p>
304
+ </div>
305
+
306
+ <?php endif; ?>
307
+
308
+
309
+ </div>
310
+ </div>
311
+
312
+ <div class="cnkt-sidebar">
313
+ <div class="cta">
314
+ <h3><?php _e('About Licenses', ALM_NAME); ?></h3>
315
+ <div class="cta-wrap">
316
+ <ul>
317
+ <li><?php _e('Add-on licenses will enable updates directly in your WP dashboard.', ALM_NAME);?></li>
318
+ <li><?php _e('License keys are found in the purchase receipt email that was sent immediately after your successful purchase.', ALM_NAME);?></li>
319
+ <li><?php _e('If you cannot locate your key please use the <a href="https://connekthq.com/contact/">contact form</a> on our website and reference the email address used when you completed the purchase.', ALM_NAME); ?></li>
320
+ </ul>
321
+ </div>
322
+ </div>
323
+ <div class="cta">
324
+ <h3><?php _e('Legacy Users', ALM_NAME); ?></h3>
325
+ <div class="cta-wrap">
326
+ <ul>
327
+ <li>If you have made a purchase prior to <u>July 6, 2015</u> you will require a license after updating your add-ons. Please <a href="https://connekthq.com/contact/">email us</a> with a reference to the email address used when you completed the add-on purchase and we will send your license key.</li>
328
+ </ul>
329
+ </div>
330
+ </div>
331
+ </div>
332
+
333
+ </div>
334
+ </div>
ajax-load-more.php CHANGED
@@ -6,13 +6,15 @@ Description: A simple solution for lazy loading WordPress posts and pages with A
6
  Author: Darren Cooney
7
  Twitter: @KaptonKaos
8
  Author URI: http://connekthq.com
9
- Version: 2.6.3.2
10
  License: GPL
11
  Copyright: Darren Cooney & Connekt Media
12
  */
13
 
14
- define('ALM_VERSION', '2.6.3.2');
15
- define('ALM_RELEASE', 'May 14, 2015');
 
 
16
 
17
  /*
18
  * alm_install
@@ -63,8 +65,11 @@ if( !class_exists('AjaxLoadMore') ):
63
  define('ALM_NAME', '_ajax_load_more');
64
  define('ALM_TITLE', 'Ajax Load More');
65
 
66
- add_action( 'wp_ajax_ajax_load_more_init', array(&$this, 'alm_query_posts') );
67
- add_action( 'wp_ajax_nopriv_ajax_load_more_init', array(&$this, 'alm_query_posts') );
 
 
 
68
  add_action( 'wp_enqueue_scripts', array(&$this, 'alm_enqueue_scripts') );
69
  add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array(&$this, 'alm_action_links') );
70
 
@@ -99,6 +104,8 @@ if( !class_exists('AjaxLoadMore') ):
99
  }
100
  }
101
 
 
 
102
  /*
103
  * alm_action_links
104
  * Add plugin action links to WP plugin screen
@@ -136,7 +143,7 @@ if( !class_exists('AjaxLoadMore') ):
136
  $scrolltop = 'true';
137
  }
138
 
139
- //
140
  if(!isset($options['_alm_disable_css']) || $options['_alm_disable_css'] != '1'){
141
  wp_enqueue_style( 'ajax-load-more', plugins_url('/core/css/ajax-load-more.css', __FILE__ ));
142
  }
@@ -169,6 +176,10 @@ if( !class_exists('AjaxLoadMore') ):
169
  extract(shortcode_atts(array(
170
  'cache' => 'false',
171
  'cache_id' => '',
 
 
 
 
172
  'preloaded' => 'false',
173
  'preloaded_amount' => '5',
174
  'seo' => 'false',
@@ -185,6 +196,7 @@ if( !class_exists('AjaxLoadMore') ):
185
  'meta_key' => '',
186
  'meta_value' => '',
187
  'meta_compare' => '',
 
188
  'year' => '',
189
  'month' => '',
190
  'day' => '',
@@ -204,7 +216,8 @@ if( !class_exists('AjaxLoadMore') ):
204
  'pause' => 'false',
205
  'destroy_after' => '',
206
  'transition' => 'slide',
207
- 'button_label' => __('Older Posts', ALM_NAME),
 
208
  ), $atts));
209
 
210
  // Get container elements (ul | div)
@@ -222,6 +235,11 @@ if( !class_exists('AjaxLoadMore') ):
222
  if(isset($options['_alm_btn_color']))
223
  $btn_color = ' '.$options['_alm_btn_color'];
224
 
 
 
 
 
 
225
  // Get btn classnames
226
  $button_classname = '';
227
  if(isset($options['_alm_btn_classname']))
@@ -241,10 +259,15 @@ if( !class_exists('AjaxLoadMore') ):
241
  /* If $wp_posts_per_page > than shortcode value then $posts_per_page to $wp_posts_per_page */
242
  if(has_action('alm_seo_installed') && $wp_posts_per_page > $posts_per_page && $seo === 'true')
243
  $posts_per_page = $wp_posts_per_page;
244
-
 
 
 
 
 
245
 
246
  // Start ALM object
247
- $ajaxloadmore = '<div id="ajax-load-more" class="ajax-load-more-wrap '. $btn_color .'">';
248
 
249
  // Preload Posts
250
  if(has_action('alm_preload_installed') && $preloaded === 'true'){
@@ -267,6 +290,7 @@ if( !class_exists('AjaxLoadMore') ):
267
  'meta_key' => $meta_key,
268
  'meta_value' => $meta_value,
269
  'meta_compare' => $meta_compare,
 
270
  'year' => $year,
271
  'month' => $month,
272
  'day' => $day,
@@ -280,7 +304,8 @@ if( !class_exists('AjaxLoadMore') ):
280
  'exclude' => $exclude,
281
  'offset' => $offset,
282
  'posts_per_page' => $preloaded_amount,
283
- 'lang' => $lang,
 
284
  );
285
 
286
  $preloaded_type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater at number to retrieve type
@@ -303,17 +328,16 @@ if( !class_exists('AjaxLoadMore') ):
303
  endwhile;
304
  wp_reset_query();
305
  endif;
306
- $preloaded_output = '<'.$container_element.' class="alm-listing alm-preloaded'. $classname .'" data-total-posts="'. $alm_total_posts .'">';
307
  $preloaded_output .= $output;
308
  $preloaded_output .= '</'.$container_element.'>';
309
 
310
  $ajaxloadmore .= $preloaded_output; // Add $preloadeded data to $ajaxloadmore
311
  }
312
  // End Preload Posts
 
313
 
314
-
315
-
316
- $ajaxloadmore .= '<'.$container_element.' class="alm-listing alm-ajax'. $classname . '"'; // Build ALM container
317
 
318
  //Cache Add-on
319
  if(has_action('alm_cache_installed') && $cache === 'true'){
@@ -321,12 +345,23 @@ if( !class_exists('AjaxLoadMore') ):
321
  $ajaxloadmore .= $cache_return;
322
  }
323
 
 
 
 
 
 
 
324
  // Preloaded Add-on
325
  if(has_action('alm_preload_installed') && $preloaded === 'true'){
326
  $ajaxloadmore .= ' data-preloaded="'.$preloaded.'"';
327
  $ajaxloadmore .= ' data-preloaded-amount="'.$preloaded_amount.'"';
328
- }
329
-
 
 
 
 
 
330
 
331
  $ajaxloadmore .= ' data-repeater="'.$repeater.'"';
332
  $ajaxloadmore .= ' data-post-type="'.$post_type.'"';
@@ -341,6 +376,7 @@ if( !class_exists('AjaxLoadMore') ):
341
  $ajaxloadmore .= ' data-meta-key="'.$meta_key.'"';
342
  $ajaxloadmore .= ' data-meta-value="'.$meta_value.'"';
343
  $ajaxloadmore .= ' data-meta-compare="'.$meta_compare.'"';
 
344
  $ajaxloadmore .= ' data-year="'.$year.'"';
345
  $ajaxloadmore .= ' data-month="'.$month.'"';
346
  $ajaxloadmore .= ' data-day="'.$day.'"';
@@ -362,15 +398,10 @@ if( !class_exists('AjaxLoadMore') ):
362
  $ajaxloadmore .= ' data-button-label="'.$button_label.'"';
363
  $ajaxloadmore .= ' data-button-class="'.$button_classname.'"';
364
  $ajaxloadmore .= ' data-destroy-after="'.$destroy_after.'"';
365
- $ajaxloadmore .= ' data-transition="'.$transition.'"';
366
-
367
- // SEO Add-on
368
- if(has_action('alm_seo_installed') && $seo === 'true'){
369
- $seo_return = apply_filters('alm_seo_shortcode', $seo, $preloaded, $options);
370
- $ajaxloadmore .= $seo_return;
371
- }
372
-
373
  $ajaxloadmore .= '></'.$container_element.'>';
 
374
  $ajaxloadmore .= '</div>';
375
  // End Build ALM container
376
 
@@ -401,16 +432,17 @@ if( !class_exists('AjaxLoadMore') ):
401
  if (! wp_verify_nonce( $nonce, 'ajax_load_more_nonce' )) // Check our nonce, if they don't match then bounce!
402
  die('Error, could not verify WP nonce.');
403
  }
404
- }
405
-
406
 
 
 
407
  $cache_id = (isset($_GET['cache_id'])) ? $_GET['cache_id'] : '';
408
 
409
  $repeater = (isset($_GET['repeater'])) ? $_GET['repeater'] : 'default';
410
  $type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater value at number to determine type
411
  $type = $type[0]; // default | repeater | template_
412
 
413
- $postType = (isset($_GET['postType'])) ? $_GET['postType'] : 'post';
414
  $post_format = (isset($_GET['post_format'])) ? $_GET['post_format'] : '';
415
 
416
  $category = (isset($_GET['category'])) ? $_GET['category'] : '';
@@ -434,6 +466,8 @@ if( !class_exists('AjaxLoadMore') ):
434
  $meta_value = (isset($_GET['meta_value'])) ? $_GET['meta_value'] : '';
435
  $meta_compare = $_GET['meta_compare'];
436
  if($meta_compare == '') $meta_compare = 'IN';
 
 
437
 
438
  $s = (isset($_GET['search'])) ? $_GET['search'] : '';
439
  $custom_args = (isset($_GET['custom_args'])) ? $_GET['custom_args'] : '';
@@ -525,10 +559,51 @@ if( !class_exists('AjaxLoadMore') ):
525
 
526
  // Meta Query
527
  if(!empty($meta_key) && !empty($meta_value)){
528
- $args['meta_query'] = array(
529
- alm_get_meta_query($meta_key, $meta_value, $meta_compare)
530
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
  }
 
 
 
 
 
 
 
532
 
533
  // Author
534
  if(!empty($author_id)){
@@ -552,20 +627,22 @@ if( !class_exists('AjaxLoadMore') ):
552
  $args['s'] = $s;
553
  }
554
 
555
- // Custom Args
556
-
557
  if(!empty($custom_args)){
558
- $custom_args_array = explode(",",$custom_args); // Split the $custom_args at ','
559
- foreach($custom_args_array as $argument){ // Loop the $custom_args
560
- $argument = explode(":",$argument); // Split the $custom_args at ':'
561
- $args[$argument[0]] = $argument[1];
 
 
 
 
 
 
 
 
562
  }
563
- }
564
-
565
- // Meta_key, used for ordering by meta value
566
- if(!empty($meta_key)){
567
- $args['meta_key'] = $meta_key;
568
- }
569
 
570
  // Language
571
  if(!empty($lang)){
@@ -602,32 +679,39 @@ if( !class_exists('AjaxLoadMore') ):
602
  $page_cache = ''; // set our page cache variable
603
  }
604
 
605
- // Run the loop
606
- if ($alm_query->have_posts()) :
607
- $alm_found_posts = $alm_total_posts;
608
- while ($alm_query->have_posts()): $alm_query->the_post();
609
- $alm_loop_count++;
610
- $alm_page = $alm_page_count; // Get page number
611
- $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
612
- include( alm_get_current_repeater($repeater, $type) );//Include repeater template
613
-
614
- // If cache is enabled
615
- // Build cache include and store in $page_cache variable
616
-
617
- if(!empty($cache_id) && has_action('alm_cache_inc')){
618
- $page_cache .= apply_filters('alm_cache_inc', $repeater, $type, $alm_page, $alm_found_posts, $alm_item);
619
- }
620
-
621
- endwhile; wp_reset_query();
622
-
623
- // If cache is enabled and seo_start_page is 1 (meaning, a user has not requested /page/12/)
624
- // - Only create cached files if the user visits pages in order 1, 2, 3 etc.
625
-
626
- if(!empty($cache_id) && has_action('alm_cache_installed') && $seo_start_page == 1){
627
- apply_filters('alm_cache_file', $cache_id, $page, $page_cache);
628
- }
629
 
630
- endif; exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
631
  }
632
 
633
  }
6
  Author: Darren Cooney
7
  Twitter: @KaptonKaos
8
  Author URI: http://connekthq.com
9
+ Version: 2.7.0
10
  License: GPL
11
  Copyright: Darren Cooney & Connekt Media
12
  */
13
 
14
+ define('ALM_VERSION', '2.7.0');
15
+ define('ALM_RELEASE', 'July 5, 2015');
16
+ define( 'ALM_STORE_URL', 'https://connekthq.com' ); // EDD CONSTANT - Store URL
17
+
18
 
19
  /*
20
  * alm_install
65
  define('ALM_NAME', '_ajax_load_more');
66
  define('ALM_TITLE', 'Ajax Load More');
67
 
68
+ add_action( 'wp_ajax_alm_query_posts', array(&$this, 'alm_query_posts') );
69
+ add_action( 'wp_ajax_nopriv_alm_query_posts', array(&$this, 'alm_query_posts') );
70
+ add_action( 'wp_ajax_alm_query_total', array(&$this, 'alm_query_total') );
71
+ add_action( 'wp_ajax_nopriv_alm_query_total', array(&$this, 'alm_query_total') );
72
+
73
  add_action( 'wp_enqueue_scripts', array(&$this, 'alm_enqueue_scripts') );
74
  add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array(&$this, 'alm_action_links') );
75
 
104
  }
105
  }
106
 
107
+
108
+
109
  /*
110
  * alm_action_links
111
  * Add plugin action links to WP plugin screen
143
  $scrolltop = 'true';
144
  }
145
 
146
+ // Load CSS
147
  if(!isset($options['_alm_disable_css']) || $options['_alm_disable_css'] != '1'){
148
  wp_enqueue_style( 'ajax-load-more', plugins_url('/core/css/ajax-load-more.css', __FILE__ ));
149
  }
176
  extract(shortcode_atts(array(
177
  'cache' => 'false',
178
  'cache_id' => '',
179
+ 'paging' => 'false',
180
+ 'paging_controls' => 'false',
181
+ 'paging_show_at_most' => '7',
182
+ 'paging_classes' => '',
183
  'preloaded' => 'false',
184
  'preloaded_amount' => '5',
185
  'seo' => 'false',
196
  'meta_key' => '',
197
  'meta_value' => '',
198
  'meta_compare' => '',
199
+ 'meta_relation' => '',
200
  'year' => '',
201
  'month' => '',
202
  'day' => '',
216
  'pause' => 'false',
217
  'destroy_after' => '',
218
  'transition' => 'slide',
219
+ 'button_label' => __('Older Posts', ALM_NAME),
220
+ 'css_classes' => '',
221
  ), $atts));
222
 
223
  // Get container elements (ul | div)
235
  if(isset($options['_alm_btn_color']))
236
  $btn_color = ' '.$options['_alm_btn_color'];
237
 
238
+ // Get button color
239
+ $paging_color = '';
240
+ if(isset($options['_alm_paging_color']))
241
+ $paging_color = ' paging-'.$options['_alm_paging_color'];
242
+
243
  // Get btn classnames
244
  $button_classname = '';
245
  if(isset($options['_alm_btn_classname']))
259
  /* If $wp_posts_per_page > than shortcode value then $posts_per_page to $wp_posts_per_page */
260
  if(has_action('alm_seo_installed') && $wp_posts_per_page > $posts_per_page && $seo === 'true')
261
  $posts_per_page = $wp_posts_per_page;
262
+
263
+ $paging_container_class = '';
264
+ if($paging === 'true'){
265
+ $paging_container_class = ' alm-paging-wrap';
266
+ $preloaded = 'false'; // temporarily set preloaded to false if paging is true
267
+ }
268
 
269
  // Start ALM object
270
+ $ajaxloadmore = '<div id="ajax-load-more" class="ajax-load-more-wrap '. $btn_color .''. $paging_color .'">';
271
 
272
  // Preload Posts
273
  if(has_action('alm_preload_installed') && $preloaded === 'true'){
290
  'meta_key' => $meta_key,
291
  'meta_value' => $meta_value,
292
  'meta_compare' => $meta_compare,
293
+ 'meta_relation' => $meta_relation,
294
  'year' => $year,
295
  'month' => $month,
296
  'day' => $day,
304
  'exclude' => $exclude,
305
  'offset' => $offset,
306
  'posts_per_page' => $preloaded_amount,
307
+ 'lang' => $lang,
308
+ 'css_classes' => $css_classes,
309
  );
310
 
311
  $preloaded_type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater at number to retrieve type
328
  endwhile;
329
  wp_reset_query();
330
  endif;
331
+ $preloaded_output = '<'.$container_element.' class="alm-listing alm-preloaded'. $classname .' '. $css_classes .'" data-total-posts="'. $alm_total_posts .'">';
332
  $preloaded_output .= $output;
333
  $preloaded_output .= '</'.$container_element.'>';
334
 
335
  $ajaxloadmore .= $preloaded_output; // Add $preloadeded data to $ajaxloadmore
336
  }
337
  // End Preload Posts
338
+
339
 
340
+ $ajaxloadmore .= '<'.$container_element.' class="alm-listing alm-ajax'. $paging_container_class .' '. $classname . ' '. $css_classes .'"'; // Build ALM container
 
 
341
 
342
  //Cache Add-on
343
  if(has_action('alm_cache_installed') && $cache === 'true'){
345
  $ajaxloadmore .= $cache_return;
346
  }
347
 
348
+ // Paging Add-on
349
+ if(has_action('alm_paging_installed') && $paging === 'true'){
350
+ $paging_return = apply_filters('alm_paging_shortcode', $paging, $paging_controls, $paging_show_at_most, $paging_classes, $options);
351
+ $ajaxloadmore .= $paging_return;
352
+ }
353
+
354
  // Preloaded Add-on
355
  if(has_action('alm_preload_installed') && $preloaded === 'true'){
356
  $ajaxloadmore .= ' data-preloaded="'.$preloaded.'"';
357
  $ajaxloadmore .= ' data-preloaded-amount="'.$preloaded_amount.'"';
358
+ }
359
+
360
+ // SEO Add-on
361
+ if(has_action('alm_seo_installed') && $seo === 'true'){
362
+ $seo_return = apply_filters('alm_seo_shortcode', $seo, $preloaded, $options);
363
+ $ajaxloadmore .= $seo_return;
364
+ }
365
 
366
  $ajaxloadmore .= ' data-repeater="'.$repeater.'"';
367
  $ajaxloadmore .= ' data-post-type="'.$post_type.'"';
376
  $ajaxloadmore .= ' data-meta-key="'.$meta_key.'"';
377
  $ajaxloadmore .= ' data-meta-value="'.$meta_value.'"';
378
  $ajaxloadmore .= ' data-meta-compare="'.$meta_compare.'"';
379
+ $ajaxloadmore .= ' data-meta-relation="'.$meta_relation.'"';
380
  $ajaxloadmore .= ' data-year="'.$year.'"';
381
  $ajaxloadmore .= ' data-month="'.$month.'"';
382
  $ajaxloadmore .= ' data-day="'.$day.'"';
398
  $ajaxloadmore .= ' data-button-label="'.$button_label.'"';
399
  $ajaxloadmore .= ' data-button-class="'.$button_classname.'"';
400
  $ajaxloadmore .= ' data-destroy-after="'.$destroy_after.'"';
401
+ $ajaxloadmore .= ' data-transition="'.$transition.'"';
402
+
 
 
 
 
 
 
403
  $ajaxloadmore .= '></'.$container_element.'>';
404
+
405
  $ajaxloadmore .= '</div>';
406
  // End Build ALM container
407
 
432
  if (! wp_verify_nonce( $nonce, 'ajax_load_more_nonce' )) // Check our nonce, if they don't match then bounce!
433
  die('Error, could not verify WP nonce.');
434
  }
435
+ }
 
436
 
437
+ $queryType = (isset($_GET['query_type'])) ? $_GET['query_type'] : 'standard'; // 'standard' or 'totalposts'; totalposts returns $alm_found_posts
438
+
439
  $cache_id = (isset($_GET['cache_id'])) ? $_GET['cache_id'] : '';
440
 
441
  $repeater = (isset($_GET['repeater'])) ? $_GET['repeater'] : 'default';
442
  $type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater value at number to determine type
443
  $type = $type[0]; // default | repeater | template_
444
 
445
+ $postType = (isset($_GET['post_type'])) ? $_GET['post_type'] : 'post';
446
  $post_format = (isset($_GET['post_format'])) ? $_GET['post_format'] : '';
447
 
448
  $category = (isset($_GET['category'])) ? $_GET['category'] : '';
466
  $meta_value = (isset($_GET['meta_value'])) ? $_GET['meta_value'] : '';
467
  $meta_compare = $_GET['meta_compare'];
468
  if($meta_compare == '') $meta_compare = 'IN';
469
+ $meta_relation = $_GET['meta_relation'];
470
+ if($meta_relation == '') $meta_relation = 'AND';
471
 
472
  $s = (isset($_GET['search'])) ? $_GET['search'] : '';
473
  $custom_args = (isset($_GET['custom_args'])) ? $_GET['custom_args'] : '';
559
 
560
  // Meta Query
561
  if(!empty($meta_key) && !empty($meta_value)){
562
+
563
+ // Parse multiple meta query
564
+ $total = count(explode(":", $meta_key)); // Total meta_query objects
565
+ $meta_key = explode(":", $meta_key); // convert to array
566
+ $meta_value = explode(":", $meta_value); // convert to array
567
+ $meta_compare = explode(":", $meta_compare); // convert to array
568
+
569
+ if($total == 1){
570
+ $args['meta_query'] = array(
571
+ alm_get_meta_query($meta_key[0], $meta_value[0], $meta_compare[0]),
572
+ );
573
+ }
574
+ if($total == 2){
575
+ $args['meta_query'] = array(
576
+ 'relation' => $meta_relation,
577
+ alm_get_meta_query($meta_key[0], $meta_value[0], $meta_compare[0]),
578
+ alm_get_meta_query($meta_key[1], $meta_value[1], $meta_compare[1]),
579
+ );
580
+ }
581
+ if($total == 3){
582
+ $args['meta_query'] = array(
583
+ 'relation' => $meta_relation,
584
+ alm_get_meta_query($meta_key[0], $meta_value[0], $meta_compare[0]),
585
+ alm_get_meta_query($meta_key[1], $meta_value[1], $meta_compare[1]),
586
+ alm_get_meta_query($meta_key[2], $meta_value[2], $meta_compare[2]),
587
+ );
588
+ }
589
+ if($total == 4){
590
+ $args['meta_query'] = array(
591
+ 'relation' => $meta_relation,
592
+ alm_get_meta_query($meta_key[0], $meta_value[0], $meta_compare[0]),
593
+ alm_get_meta_query($meta_key[1], $meta_value[1], $meta_compare[1]),
594
+ alm_get_meta_query($meta_key[2], $meta_value[2], $meta_compare[2]),
595
+ alm_get_meta_query($meta_key[3], $meta_value[3], $meta_compare[3]),
596
+ );
597
+ }
598
+
599
  }
600
+
601
+ // Meta_key, used for ordering by meta value
602
+ if(!empty($meta_key)){
603
+ if(count($meta_key) == 1){
604
+ $args['meta_key'] = $meta_key[0];
605
+ }
606
+ }
607
 
608
  // Author
609
  if(!empty($author_id)){
627
  $args['s'] = $s;
628
  }
629
 
630
+ // Custom Args
 
631
  if(!empty($custom_args)){
632
+ $custom_args_array = explode(";",$custom_args); // Split the $custom_args at ','
633
+ foreach($custom_args_array as $argument){ // Loop each $argument
634
+
635
+ $argument = preg_replace('/\s+/', '', $argument); // Remove all whitespace
636
+ $argument = explode(":",$argument); // Split the $argument at ':'
637
+ $argument_arr = explode(",", $argument[1]); // explode $argument[1] at ','
638
+ if(sizeof($argument_arr) > 1){
639
+ $args[$argument[0]] = $argument_arr;
640
+ }else{
641
+ $args[$argument[0]] = $argument[1];
642
+ }
643
+
644
  }
645
+ }
 
 
 
 
 
646
 
647
  // Language
648
  if(!empty($lang)){
679
  $page_cache = ''; // set our page cache variable
680
  }
681
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
682
 
683
+ if($queryType === 'standard'){
684
+ // Run the loop
685
+ if ($alm_query->have_posts()) :
686
+ $alm_found_posts = $alm_total_posts;
687
+ while ($alm_query->have_posts()): $alm_query->the_post();
688
+ $alm_loop_count++;
689
+ $alm_page = $alm_page_count; // Get page number
690
+ $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
691
+
692
+ include( alm_get_current_repeater($repeater, $type) );//Include repeater template
693
+
694
+ // If cache is enabled
695
+ // Build cache include and store in $page_cache variable
696
+ if(!empty($cache_id) && has_action('alm_cache_inc')){
697
+ $page_cache .= apply_filters('alm_cache_inc', $repeater, $type, $alm_page, $alm_found_posts, $alm_item);
698
+ }
699
+
700
+ endwhile; wp_reset_query();
701
+
702
+ // If cache is enabled and seo_start_page is 1 (meaning, a user has not requested /page/12/)
703
+ // - Only create cached files if the user visits pages in order 1, 2, 3 etc.
704
+
705
+ if(!empty($cache_id) && has_action('alm_cache_installed') && $seo_start_page == 1){
706
+ apply_filters('alm_cache_file', $cache_id, $page, $page_cache);
707
+ }
708
+
709
+ endif;
710
+
711
+ }elseif($queryType === 'totalposts'){
712
+ echo $alm_total_posts;
713
+ }
714
+ exit;
715
  }
716
 
717
  }
core/css/ajax-load-more.css CHANGED
@@ -83,7 +83,7 @@ button.alm-load-more-btn{
83
 
84
  /* Loading :before */
85
  button.alm-load-more-btn.loading:before {
86
- background: #fff url(../../core/img/ajax-loader.gif) no-repeat center center;
87
  width: 30px;
88
  height: 30px;
89
  margin: 6px;
@@ -102,28 +102,28 @@ button.alm-load-more-btn{
102
  }
103
 
104
  .alm-btn-wrap{
105
- text-align:center;
106
- padding:10px 10px 30px;
107
  overflow: hidden;
108
  display: block;
109
  }
110
 
111
  /* Blue */
112
  .ajax-load-more-wrap.blue button.alm-load-more-btn{
113
- background-color: #529ecf;
114
  }
115
  .ajax-load-more-wrap.blue button.alm-load-more-btn:hover,
116
  .ajax-load-more-wrap.blue button.alm-load-more-btn.done{
117
- background-color: #468ebb;
118
  }
119
 
120
  /* green */
121
  .ajax-load-more-wrap.green button.alm-load-more-btn{
122
- background-color: #80bb46;
123
  }
124
  .ajax-load-more-wrap.green button.alm-load-more-btn:hover,
125
  .ajax-load-more-wrap.green button.alm-load-more-btn.done{
126
- background-color: #6fa43c;
127
  }
128
 
129
  /* red */
@@ -137,11 +137,11 @@ button.alm-load-more-btn{
137
 
138
  /* purple */
139
  .ajax-load-more-wrap.purple button.alm-load-more-btn{
140
- background-color: #b14fae;
141
  }
142
  .ajax-load-more-wrap.purple button.alm-load-more-btn:hover,
143
  .ajax-load-more-wrap.purple button.alm-load-more-btn.done{
144
- background-color: #9c4399;
145
  }
146
 
147
  /* grey */
@@ -171,7 +171,7 @@ button.alm-load-more-btn{
171
 
172
 
173
  /*
174
- * Generic alm-listing Styles
175
  *
176
  * @since 1.0.0
177
  */
@@ -206,4 +206,6 @@ button.alm-load-more-btn{
206
  -moz-border-radius:3px;
207
  border-radius:3px;
208
  }
209
-
 
 
83
 
84
  /* Loading :before */
85
  button.alm-load-more-btn.loading:before {
86
+ background: #fff url("../../core/img/ajax-loader.gif") no-repeat center center;
87
  width: 30px;
88
  height: 30px;
89
  margin: 6px;
102
  }
103
 
104
  .alm-btn-wrap{
105
+ text-align: center;
106
+ padding: 10px 10px 30px;
107
  overflow: hidden;
108
  display: block;
109
  }
110
 
111
  /* Blue */
112
  .ajax-load-more-wrap.blue button.alm-load-more-btn{
113
+ background-color: #6bb1d9;
114
  }
115
  .ajax-load-more-wrap.blue button.alm-load-more-btn:hover,
116
  .ajax-load-more-wrap.blue button.alm-load-more-btn.done{
117
+ background-color: #6bb1d9;
118
  }
119
 
120
  /* green */
121
  .ajax-load-more-wrap.green button.alm-load-more-btn{
122
+ background-color: #98ca68;
123
  }
124
  .ajax-load-more-wrap.green button.alm-load-more-btn:hover,
125
  .ajax-load-more-wrap.green button.alm-load-more-btn.done{
126
+ background-color: #98ca68;
127
  }
128
 
129
  /* red */
137
 
138
  /* purple */
139
  .ajax-load-more-wrap.purple button.alm-load-more-btn{
140
+ background-color: #b369c8;
141
  }
142
  .ajax-load-more-wrap.purple button.alm-load-more-btn:hover,
143
  .ajax-load-more-wrap.purple button.alm-load-more-btn.done{
144
+ background-color: #b369c8;
145
  }
146
 
147
  /* grey */
171
 
172
 
173
  /*
174
+ * Generic alm-listing styles
175
  *
176
  * @since 1.0.0
177
  */
206
  -moz-border-radius:3px;
207
  border-radius:3px;
208
  }
209
+
210
+
211
+
core/functions.php CHANGED
@@ -195,21 +195,35 @@ function alm_get_tax_query($post_format, $taxonomy, $taxonomy_terms, $taxonomy_o
195
  */
196
  function alm_get_meta_query($meta_key, $meta_value, $meta_compare){
197
  if(!empty($meta_key) && !empty($meta_value)){
198
- // See the docs (http://codex.wordpress.org/Class_Reference/WP_Meta_Query)
199
- if($meta_compare === 'IN' || $meta_compare === 'NOT IN' || $meta_compare === 'BETWEEN' || $meta_compare === 'NOT BETWEEN'){
200
- // Remove all whitespace for meta_value because it needs to be an exact match
201
- $mv_trimmed = preg_replace('/\s+/', ' ', $meta_value); // Trim whitespace
202
- $meta_values = str_replace(', ', ',', $mv_trimmed); // Replace [term, term] with [term,term]
203
- $meta_values = explode(",", $meta_values);
204
- }else{
205
- $meta_values = $meta_value;
206
- }
207
- $args = array(
208
- 'key' => $meta_key,
209
- 'value' => $meta_values,
210
- 'compare' => $meta_compare,
211
- );
212
- return $args;
213
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  }
215
 
195
  */
196
  function alm_get_meta_query($meta_key, $meta_value, $meta_compare){
197
  if(!empty($meta_key) && !empty($meta_value)){
198
+
199
+ $meta_values = alm_parse_meta_value($meta_value, $meta_compare);
200
+ $return = array('key' => $meta_key,'value' => $meta_values,'compare' => $meta_compare);
201
+
202
+ return $return;
203
+
204
+ }
205
+
206
+ }
207
+
208
+
209
+
210
+ /*
211
+ * alm_parse_meta_value
212
+ * Parse the meta value for multiple vals
213
+ *
214
+ * @return array;
215
+ * @since 2.6.4
216
+ */
217
+ function alm_parse_meta_value($meta_value, $meta_compare){
218
+ // See the docs (http://codex.wordpress.org/Class_Reference/WP_Meta_Query)
219
+ if($meta_compare === 'IN' || $meta_compare === 'NOT IN' || $meta_compare === 'BETWEEN' || $meta_compare === 'NOT BETWEEN'){
220
+ // Remove all whitespace for meta_value because it needs to be an exact match
221
+ $mv_trimmed = preg_replace('/\s+/', ' ', $meta_value); // Trim whitespace
222
+ $meta_values = str_replace(', ', ',', $mv_trimmed); // Replace [term, term] with [term,term]
223
+ $meta_values = explode(",", $meta_values);
224
+ }else{
225
+ $meta_values = $meta_value;
226
+ }
227
+ return $meta_values;
228
  }
229
 
core/js/ajax-load-more.js CHANGED
@@ -1,3 +1,4 @@
 
1
  /*
2
  * Ajax Load More
3
  * http://wordpress.org/plugins/ajax-load-more/
@@ -25,7 +26,7 @@
25
  var alm = this;
26
  alm.AjaxLoadMore = {};
27
  alm.page = 0;
28
- alm.speed = 300;
29
  alm.proceed = false;
30
  alm.disable_ajax = false;
31
  alm.init = true;
@@ -36,30 +37,56 @@
36
  alm.data;
37
  alm.el = el;
38
  alm.content = $('.alm-listing.alm-ajax', alm.el);
 
39
  alm.prefix = 'alm-';
 
40
  alm.cache = alm.content.attr('data-cache'); // cache (true/false)
41
  alm.cache_id = alm.content.attr('data-cache-id'); // cache value
42
  alm.cache_path = alm.content.attr('data-cache-path'); // cache path
43
  alm.cache_logged_in = alm.content.attr('data-cache-logged-in'); // cache logged in (settings)
44
  alm.repeater = alm.content.attr('data-repeater');
 
45
  alm.scroll_distance = parseInt(alm.content.attr('data-scroll-distance'));
46
  alm.max_pages = parseInt(alm.content.attr('data-max-pages'));
47
  alm.pause = alm.content.attr('data-pause'); // true | false
48
  alm.transition = alm.content.attr('data-transition');
49
  alm.destroy_after = alm.content.attr('data-destroy-after');
50
  alm.lang = alm.content.attr('data-lang');
 
51
  alm.posts_per_page = alm.content.attr('data-posts-per-page');
 
52
  alm.seo = alm.content.attr('data-seo'); // true | false
 
53
  alm.preloaded = alm.content.attr('data-preloaded'); // true | false
54
- alm.preloaded_amount = alm.content.attr('data-preloaded-amount'); // 0 - ?
55
-
 
 
 
 
56
 
57
- /* Define offset */
58
- if (alm.content.attr('data-offset') === undefined){
59
- alm.offset = 0;
60
- }else{
61
- alm.offset = alm.content.attr('data-offset');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
 
 
63
 
64
  /* Cache */
65
  if (alm.cache === undefined){
@@ -69,6 +96,7 @@
69
  if (alm.cache_logged_in === undefined){
70
  alm.cache_logged_in = false;
71
  }
 
72
 
73
 
74
  /* Preloaded */
@@ -85,9 +113,10 @@
85
  }else{
86
  alm.preloaded = 'false';
87
  }
 
 
88
 
89
-
90
- /* SEO */
91
  if (alm.seo === undefined){
92
  alm.seo = false;
93
  }
@@ -110,9 +139,24 @@
110
  if (alm.start_page > 1) {
111
  alm.isPaged = true; // Is this a $paged page > 1 ?
112
  alm.posts_per_page = alm.start_page * alm.posts_per_page;
 
 
 
 
113
  }
114
-
115
- }
 
 
 
 
 
 
 
 
 
 
 
116
 
117
 
118
  /* Check for pause on init
@@ -121,16 +165,16 @@
121
  if (alm.pause === undefined || (alm.seo && alm.start_page > 1)){// SEO only
122
  alm.pause = false;
123
  }
124
- if (alm.preloaded && alm.start_page >= 1){ // SEO + Preloaded
125
  alm.pause = false;
126
  }
127
-
128
 
129
  /* Select the repeater template */
130
  if (alm.repeater === undefined){
131
  alm.repeater = 'default';
132
  }
133
-
134
 
135
  /* Max number of pages to load while scrolling */
136
  if (alm.max_pages === undefined){
@@ -138,9 +182,11 @@
138
  }
139
 
140
  if (alm.max_pages === 0){
141
- alm.max_pages = 1000;
142
  }
143
 
 
 
144
  if (alm.scroll_distance === undefined){
145
  alm.scroll_distance = 150;
146
  }
@@ -191,8 +237,16 @@
191
 
192
 
193
  /* Append 'load More' button to .ajax-load-more-wrap */
194
- alm.el.append('<div class="' + alm.prefix + 'btn-wrap"><button id="load-more" class="' + alm.prefix + 'load-more-btn more'+ alm.button_class +'">' + alm.button_label + '</button></div>');
195
- alm.button = $('.alm-load-more-btn', alm.el);
 
 
 
 
 
 
 
 
196
 
197
 
198
 
@@ -202,10 +256,12 @@
202
  * @since 2.0.0
203
  */
204
 
205
- alm.AjaxLoadMore.loadPosts = function () {
206
-
207
  if(!alm.disable_ajax){ // Check for ajax blocker
208
- alm.button.addClass('loading');
 
 
209
  alm.loading = true;
210
 
211
  // If cache = true && cache_logged_in setting is false
@@ -215,7 +271,7 @@
215
 
216
  // if alm.init = true, SEO = true and SEO page > 1
217
  // - skip cache build process because we can't build cache from multiple loaded queries
218
- alm.AjaxLoadMore.ajax();
219
 
220
  } else {
221
  // Build and/or get cache
@@ -224,11 +280,11 @@
224
 
225
  $.get(cachePage, function( data ) {
226
 
227
- alm.AjaxLoadMore.success(data); // data contains whatever request has returned
228
 
229
  }).fail(function() {
230
 
231
- alm.AjaxLoadMore.ajax();
232
 
233
  });
234
 
@@ -236,7 +292,7 @@
236
 
237
  } else { // Standard ALM query
238
 
239
- alm.AjaxLoadMore.ajax();
240
 
241
  }
242
  }
@@ -251,16 +307,17 @@
251
  * @since 2.6.0
252
  */
253
 
254
- alm.AjaxLoadMore.ajax = function () {
255
  $.ajax({
256
  type: "GET",
257
  url: alm_localize.ajaxurl,
258
  data: {
259
- action: 'ajax_load_more_init',
 
260
  nonce: alm_localize.alm_nonce,
261
  cache_id: alm.cache_id,
262
  repeater: alm.repeater,
263
- postType: alm.post_type,
264
  post_format: alm.content.attr('data-post-format'),
265
  category: alm.content.attr('data-category'),
266
  category__not_in: alm.content.attr('data-category-not-in'),
@@ -272,6 +329,7 @@
272
  meta_key: alm.content.attr('data-meta-key'),
273
  meta_value: alm.content.attr('data-meta-value'),
274
  meta_compare: alm.content.attr('data-meta-compare'),
 
275
  author: alm.content.attr('data-author'),
276
  year: alm.content.attr('data-year'),
277
  month: alm.content.attr('data-month'),
@@ -294,18 +352,30 @@
294
  dataType: "html",
295
  // parse the data as html
296
  beforeSend: function () {
297
- if (alm.page != 1) {
298
  alm.button.addClass('loading');
299
  }
300
  },
301
  success: function (data) {
302
- alm.AjaxLoadMore.success(data);
 
 
 
 
 
 
 
303
  },
304
  error: function (jqXHR, textStatus, errorThrown) {
305
  alm.AjaxLoadMore.error(jqXHR, textStatus, errorThrown);
306
  }
307
  });
308
- };
 
 
 
 
 
309
 
310
 
311
 
@@ -316,10 +386,29 @@
316
  */
317
 
318
  alm.AjaxLoadMore.success = function (data) {
 
319
  alm.data = $(data); // Convert data to an object
320
  if (alm.init) {
321
- alm.button.text(alm.button_label);
322
- alm.init = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
 
324
  // ALM Empty - triggers if zero results were returned
325
  if(!alm.data.length > 0){
@@ -331,58 +420,88 @@
331
  if(alm.isPaged){
332
  alm.posts_per_page = alm.content.attr('data-posts-per-page'); // Reset our posts per page variable
333
  alm.page = alm.start_page - 1; // Set our new page #
334
- }
335
  }
336
 
 
 
337
  if (alm.data.length > 0) {
338
- alm.el = $('<div class="' + alm.prefix + 'reveal"/>');
339
- alm.el.append(alm.data).hide();
340
- alm.content.append(alm.el);
341
- if (alm.transition === 'fade') { // Fade transition
342
- alm.el.fadeIn(alm.speed, 'alm_easeInOutQuad', function () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  alm.loading = false;
344
- alm.button.delay(alm.speed).removeClass('loading');
345
- if (alm.data.length < alm.posts_per_page) {
346
- alm.finished = true;
347
- alm.button.addClass('done');
348
  }
349
- });
350
- }else if(alm.transition === 'none') { // Fade transition
351
- alm.el.show();
352
- alm.loading = false;
353
- alm.button.delay(alm.speed).removeClass('loading');
354
- if (alm.data.length < alm.posts_per_page) {
355
- alm.finished = true;
356
- alm.button.addClass('done');
357
- }
358
- }else { // Slide transition
359
- alm.el.slideDown(alm.speed, 'alm_easeInOutQuad', function () {
360
- alm.loading = false;
361
- alm.button.delay(alm.speed).removeClass('loading');
362
  if (alm.data.length < alm.posts_per_page) {
363
  alm.finished = true;
364
- alm.button.addClass('done');
365
- }
366
- });
367
- }
368
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369
 
370
  // ALM Complete
371
  if ($.isFunction($.fn.almComplete)) {
372
  $.fn.almComplete(alm);
373
- }
 
374
 
375
 
 
 
376
  // ALM SEO
377
  // - Only run if a single instance is on the page.
378
- if($(".ajax-load-more-wrap").length === 1){
379
  if ($.isFunction($.fn.almSEO) && alm.seo) {
380
  $.fn.almSEO(alm);
381
  }
382
  }
383
 
384
  } else {
385
- alm.button.delay(alm.speed).removeClass('loading').addClass('done');
 
 
386
  alm.loading = false;
387
  alm.finished = true;
388
  }
@@ -397,9 +516,14 @@
397
 
398
  if(currentPage == alm.destroy_after){ // - Disable ALM is page = alm.destroy_after value
399
  alm.disable_ajax = true;
400
- alm.button.delay(alm.speed).fadeOut(alm.speed);
 
 
401
  }
402
  }
 
 
 
403
  };
404
 
405
 
@@ -412,29 +536,45 @@
412
 
413
  alm.AjaxLoadMore.error = function (jqXHR, textStatus, errorThrown) {
414
  alm.loading = false;
415
- alm.button.removeClass('loading');
 
 
416
  console.log(errorThrown);
417
  };
418
 
419
 
420
 
421
- /* Button onClick()
422
  *
423
  * Load more button click event
424
  * @since 1.0.0
425
  */
426
 
427
- alm.button.on('click', function () {
428
- if (alm.pause === 'true') {
429
- alm.pause = false;
430
- alm.AjaxLoadMore.loadPosts();
431
- }
432
- if (!alm.loading && !alm.finished && !$(this).hasClass('done')) {
433
- alm.loading = true;
434
- alm.page++;
435
- alm.AjaxLoadMore.loadPosts();
436
- }
437
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
 
439
 
440
 
@@ -459,7 +599,7 @@
459
  * Load posts as user scrolls the page
460
  * @since 1.0
461
  */
462
- if (alm.scroll) {
463
  alm.window.bind("scroll touchstart", function () {
464
  if (alm.AjaxLoadMore.isVisible()) {
465
  var content_offset = alm.button.offset();
@@ -478,15 +618,17 @@
478
  * Load posts as user scrolls the page
479
  * @since 2.0
480
  */
481
- if(alm.disable_ajax){
482
- alm.finished = true;
483
- alm.button.addClass('done');
484
- }else{
485
- if (alm.pause === 'true') {
486
- alm.button.text(alm.button_label);
487
- alm.loading = false;
488
- } else {
489
- alm.AjaxLoadMore.loadPosts();
 
 
490
  }
491
  }
492
 
@@ -494,7 +636,47 @@
494
  //flag to prevent unnecessary loading of post on init. Hold for 1 second
495
  setTimeout(function () {
496
  alm.proceed = true;
497
- }, 1000);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
 
499
 
500
  //Custom easing function
@@ -502,6 +684,7 @@
502
  if ((t /= d / 2) < 1) return c / 2 * t * t + b;
503
  return -c / 2 * ((--t) * (t - 2) - 1) + b;
504
  };
 
505
  };
506
 
507
  // End $.ajaxloadmore
@@ -565,12 +748,13 @@
565
  $('.alm-listing', el).attr('data-'+key, value);
566
  });
567
 
568
- if ($.isFunction($.fn.almFilterComplete))
569
  $.fn.almFilterComplete();
 
570
 
571
  $(".ajax-load-more-wrap").ajaxloadmore(); // re-initiate Ajax Load More
572
  };
573
-
574
 
575
 
576
  /* $.fn.ajaxloadmore()
@@ -595,4 +779,232 @@
595
  }
596
 
597
 
598
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
  /*
3
  * Ajax Load More
4
  * http://wordpress.org/plugins/ajax-load-more/
26
  var alm = this;
27
  alm.AjaxLoadMore = {};
28
  alm.page = 0;
29
+ alm.speed = 250;
30
  alm.proceed = false;
31
  alm.disable_ajax = false;
32
  alm.init = true;
37
  alm.data;
38
  alm.el = el;
39
  alm.content = $('.alm-listing.alm-ajax', alm.el);
40
+ alm.content_preloaded = $('.alm-listing.alm-preloaded', alm.el);
41
  alm.prefix = 'alm-';
42
+
43
  alm.cache = alm.content.attr('data-cache'); // cache (true/false)
44
  alm.cache_id = alm.content.attr('data-cache-id'); // cache value
45
  alm.cache_path = alm.content.attr('data-cache-path'); // cache path
46
  alm.cache_logged_in = alm.content.attr('data-cache-logged-in'); // cache logged in (settings)
47
  alm.repeater = alm.content.attr('data-repeater');
48
+
49
  alm.scroll_distance = parseInt(alm.content.attr('data-scroll-distance'));
50
  alm.max_pages = parseInt(alm.content.attr('data-max-pages'));
51
  alm.pause = alm.content.attr('data-pause'); // true | false
52
  alm.transition = alm.content.attr('data-transition');
53
  alm.destroy_after = alm.content.attr('data-destroy-after');
54
  alm.lang = alm.content.attr('data-lang');
55
+ alm.orginal_posts_per_page = alm.content.attr('data-posts-per-page'); // Used for paging add-on
56
  alm.posts_per_page = alm.content.attr('data-posts-per-page');
57
+
58
  alm.seo = alm.content.attr('data-seo'); // true | false
59
+
60
  alm.preloaded = alm.content.attr('data-preloaded'); // true | false
61
+ alm.preloaded_amount = alm.content.attr('data-preloaded-amount'); // 0 - ?
62
+
63
+ alm.paging = alm.content.attr('data-paging'); // is paging enabled
64
+ alm.paging_controls = alm.content.attr('data-paging-controls');
65
+ alm.paging_show_at_most = alm.content.attr('data-paging-show-at-most');
66
+ alm.paging_classes = alm.content.attr('data-paging-classes');
67
 
68
+
69
+ /* Paging */
70
+ if(alm.paging === 'true'){
71
+ alm.paging = true;
72
+ if(alm.paging_show_at_most === undefined){
73
+ alm.paging_show_at_most = 7;
74
+ }
75
+ }else{
76
+ alm.paging = false;
77
+ }
78
+
79
+ if(alm.paging_controls === 'true'){
80
+ alm.paging_controls = true;
81
+ }else{
82
+ alm.paging_controls = false;
83
+ }
84
+
85
+ if($(".ajax-load-more-wrap").length > 1){ // if ALM is greater than 1, paging is false.
86
+ //alm.paging = false;
87
  }
88
+ /* /end Paging */
89
+
90
 
91
  /* Cache */
92
  if (alm.cache === undefined){
96
  if (alm.cache_logged_in === undefined){
97
  alm.cache_logged_in = false;
98
  }
99
+ /* /end Cache */
100
 
101
 
102
  /* Preloaded */
113
  }else{
114
  alm.preloaded = 'false';
115
  }
116
+ /* /end Preloaded */
117
+
118
 
119
+ /* SEO */
 
120
  if (alm.seo === undefined){
121
  alm.seo = false;
122
  }
139
  if (alm.start_page > 1) {
140
  alm.isPaged = true; // Is this a $paged page > 1 ?
141
  alm.posts_per_page = alm.start_page * alm.posts_per_page;
142
+ }
143
+ // If paging is enabled, reset our posts_per_page
144
+ if(alm.paging){
145
+ alm.posts_per_page = alm.orginal_posts_per_page;
146
  }
147
+
148
+ }else{
149
+ alm.start_page = 1;
150
+ }
151
+ /* /end SEO */
152
+
153
+
154
+ /* Define offset */
155
+ if (alm.content.attr('data-offset') === undefined){
156
+ alm.offset = 0;
157
+ }else{
158
+ alm.offset = alm.content.attr('data-offset');
159
+ }
160
 
161
 
162
  /* Check for pause on init
165
  if (alm.pause === undefined || (alm.seo && alm.start_page > 1)){// SEO only
166
  alm.pause = false;
167
  }
168
+ if (alm.preloaded === 'true' && alm.seo && alm.start_page > 0){ // SEO + Preloaded
169
  alm.pause = false;
170
  }
171
+
172
 
173
  /* Select the repeater template */
174
  if (alm.repeater === undefined){
175
  alm.repeater = 'default';
176
  }
177
+
178
 
179
  /* Max number of pages to load while scrolling */
180
  if (alm.max_pages === undefined){
182
  }
183
 
184
  if (alm.max_pages === 0){
185
+ alm.max_pages = 10000;
186
  }
187
 
188
+
189
+ /* Scroll Distance */
190
  if (alm.scroll_distance === undefined){
191
  alm.scroll_distance = 150;
192
  }
237
 
238
 
239
  /* Append 'load More' button to .ajax-load-more-wrap */
240
+ alm.el.append('<div class="' + alm.prefix + 'btn-wrap"/>');
241
+ alm.btnWrap = $('.' + alm.prefix + 'btn-wrap', alm.el);
242
+ if(!alm.paging){
243
+ // If paging is false
244
+ $('.'+ alm.prefix + 'btn-wrap', alm.el).append('<button id="load-more" class="' + alm.prefix + 'load-more-btn more'+ alm.button_class +'">' + alm.button_label + '</button>');
245
+ alm.button = $('.alm-load-more-btn', alm.el);
246
+ }else{
247
+ // Paging add-on
248
+ alm.content.parent().addClass('loading'); // add loading class to main container
249
+ }
250
 
251
 
252
 
256
  * @since 2.0.0
257
  */
258
 
259
+ alm.AjaxLoadMore.loadPosts = function () {
260
+
261
  if(!alm.disable_ajax){ // Check for ajax blocker
262
+ if(!alm.paging){
263
+ alm.button.addClass('loading');
264
+ }
265
  alm.loading = true;
266
 
267
  // If cache = true && cache_logged_in setting is false
271
 
272
  // if alm.init = true, SEO = true and SEO page > 1
273
  // - skip cache build process because we can't build cache from multiple loaded queries
274
+ alm.AjaxLoadMore.ajax('standard');
275
 
276
  } else {
277
  // Build and/or get cache
280
 
281
  $.get(cachePage, function( data ) {
282
 
283
+ alm.AjaxLoadMore.success(data); // data contains whatever the request has returned
284
 
285
  }).fail(function() {
286
 
287
+ alm.AjaxLoadMore.ajax('standard');
288
 
289
  });
290
 
292
 
293
  } else { // Standard ALM query
294
 
295
+ alm.AjaxLoadMore.ajax('standard');
296
 
297
  }
298
  }
307
  * @since 2.6.0
308
  */
309
 
310
+ alm.AjaxLoadMore.ajax = function (queryType) {
311
  $.ajax({
312
  type: "GET",
313
  url: alm_localize.ajaxurl,
314
  data: {
315
+ action: 'alm_query_posts',
316
+ query_type: queryType,
317
  nonce: alm_localize.alm_nonce,
318
  cache_id: alm.cache_id,
319
  repeater: alm.repeater,
320
+ post_type: alm.post_type,
321
  post_format: alm.content.attr('data-post-format'),
322
  category: alm.content.attr('data-category'),
323
  category__not_in: alm.content.attr('data-category-not-in'),
329
  meta_key: alm.content.attr('data-meta-key'),
330
  meta_value: alm.content.attr('data-meta-value'),
331
  meta_compare: alm.content.attr('data-meta-compare'),
332
+ meta_relation: alm.content.attr('data-meta-relation'),
333
  author: alm.content.attr('data-author'),
334
  year: alm.content.attr('data-year'),
335
  month: alm.content.attr('data-month'),
352
  dataType: "html",
353
  // parse the data as html
354
  beforeSend: function () {
355
+ if (alm.page != 1 && !alm.paging) {
356
  alm.button.addClass('loading');
357
  }
358
  },
359
  success: function (data) {
360
+ if(queryType === 'standard'){
361
+ alm.AjaxLoadMore.success(data);
362
+ }
363
+ else if(queryType === 'totalposts' && alm.paging){
364
+ if($.isFunction($.fn.almBuildPagination)){
365
+ $.fn.almBuildPagination(data, alm);
366
+ }
367
+ }
368
  },
369
  error: function (jqXHR, textStatus, errorThrown) {
370
  alm.AjaxLoadMore.error(jqXHR, textStatus, errorThrown);
371
  }
372
  });
373
+ };
374
+
375
+ // If pagination enabled, run totalposts query
376
+ if(alm.paging){
377
+ alm.AjaxLoadMore.ajax('totalposts'); // Create paging menu and query for total posts
378
+ }
379
 
380
 
381
 
386
  */
387
 
388
  alm.AjaxLoadMore.success = function (data) {
389
+
390
  alm.data = $(data); // Convert data to an object
391
  if (alm.init) {
392
+ if(!alm.paging){
393
+ alm.button.text(alm.button_label);
394
+ } else
395
+ { // Is pagination
396
+ if (alm.data.length > 0) {
397
+ alm.el = $('<div class="alm-reveal"/>');
398
+ alm.el.append('<div class="alm-paging-content"></div><div class="alm-paging-loading"></div>');
399
+ $('.alm-paging-content', alm.el).append(alm.data).hide();
400
+ alm.content.append(alm.el);
401
+ alm.content.parent().removeClass('loading'); // Remove loading class from main container
402
+ $('.alm-paging-content', alm.el).fadeIn( alm.speed, 'alm_easeInOutQuad', function(){
403
+ var paddingT = parseInt(alm.content.css('padding-top')),
404
+ paddingB = parseInt(alm.content.css('padding-bottom'));
405
+ alm.content.css('height', alm.el.height() + paddingT + paddingB + 'px');
406
+ if ($.isFunction($.fn.almFadePageControls)){
407
+ $.fn.almFadePageControls(alm.btnWrap);
408
+ }
409
+ });
410
+ }
411
+ }
412
 
413
  // ALM Empty - triggers if zero results were returned
414
  if(!alm.data.length > 0){
420
  if(alm.isPaged){
421
  alm.posts_per_page = alm.content.attr('data-posts-per-page'); // Reset our posts per page variable
422
  alm.page = alm.start_page - 1; // Set our new page #
423
+ }
424
  }
425
 
426
+
427
+
428
  if (alm.data.length > 0) {
429
+ if(!alm.paging){
430
+ alm.el = $('<div class="alm-reveal"/>');
431
+ alm.el.append(alm.data).hide();
432
+ alm.content.append(alm.el);
433
+ if (alm.transition === 'fade') { // Fade transition
434
+ alm.el.fadeIn(alm.speed, 'alm_easeInOutQuad', function () {
435
+ alm.loading = false;
436
+ if(!alm.paging){
437
+ alm.button.delay(alm.speed).removeClass('loading');
438
+ }
439
+ if (alm.data.length < alm.posts_per_page) {
440
+ alm.finished = true;
441
+ if(!alm.paging){
442
+ alm.button.addClass('done');
443
+ }
444
+ }
445
+ });
446
+ }else if(alm.transition === 'none') { // Fade transition
447
+ alm.el.show();
448
  alm.loading = false;
449
+ if(!alm.paging){
450
+ alm.button.delay(alm.speed).removeClass('loading');
 
 
451
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
452
  if (alm.data.length < alm.posts_per_page) {
453
  alm.finished = true;
454
+ if(!alm.paging){
455
+ alm.button.addClass('done');
456
+ }
457
+ }
458
+ }else { // Slide transition
459
+ alm.el.slideDown(alm.speed, 'alm_easeInOutQuad', function () {
460
+ alm.loading = false;
461
+ if(!alm.paging){
462
+ alm.button.delay(alm.speed).removeClass('loading');
463
+ }
464
+ if (alm.data.length < alm.posts_per_page) {
465
+ alm.finished = true;
466
+ if(!alm.paging){
467
+ alm.button.addClass('done');
468
+ }
469
+ }
470
+ });
471
+ }
472
+ } else {
473
+ // Is Paging
474
+ if(!alm.init){
475
+ $('.alm-paging-content', alm.el).html('').append(alm.data).almWaitForImages().done(function(){ // Remove loading class and append data
476
+ $('.alm-paging-loading', alm.el).fadeOut(alm.speed); // Fade out loader
477
+ if ($.isFunction($.fn.almOnPagingComplete)){
478
+ $.fn.almOnPagingComplete(alm);
479
+ }
480
+ });
481
+ }
482
+ }
483
 
484
  // ALM Complete
485
  if ($.isFunction($.fn.almComplete)) {
486
  $.fn.almComplete(alm);
487
+ }
488
+
489
 
490
 
491
+
492
+
493
  // ALM SEO
494
  // - Only run if a single instance is on the page.
495
+ if($(".ajax-load-more-wrap").length === 1){
496
  if ($.isFunction($.fn.almSEO) && alm.seo) {
497
  $.fn.almSEO(alm);
498
  }
499
  }
500
 
501
  } else {
502
+ if(!alm.paging){
503
+ alm.button.delay(alm.speed).removeClass('loading').addClass('done');
504
+ }
505
  alm.loading = false;
506
  alm.finished = true;
507
  }
516
 
517
  if(currentPage == alm.destroy_after){ // - Disable ALM is page = alm.destroy_after value
518
  alm.disable_ajax = true;
519
+ if(!alm.paging){
520
+ alm.button.delay(alm.speed).fadeOut(alm.speed);
521
+ }
522
  }
523
  }
524
+
525
+ alm.init = false;
526
+
527
  };
528
 
529
 
536
 
537
  alm.AjaxLoadMore.error = function (jqXHR, textStatus, errorThrown) {
538
  alm.loading = false;
539
+ if(!alm.paging){
540
+ alm.button.removeClass('loading');
541
+ }
542
  console.log(errorThrown);
543
  };
544
 
545
 
546
 
547
+ /* Button onClick()
548
  *
549
  * Load more button click event
550
  * @since 1.0.0
551
  */
552
 
553
+ if(!alm.paging){
554
+ alm.button.on('click', function () {
555
+ if (alm.pause === 'true') {
556
+ alm.pause = false;
557
+ alm.AjaxLoadMore.loadPosts();
558
+ }
559
+ if (!alm.loading && !alm.finished && !$(this).hasClass('done')) {
560
+ alm.loading = true;
561
+ alm.page++;
562
+ alm.AjaxLoadMore.loadPosts();
563
+ }
564
+ });
565
+ }
566
+
567
+
568
+
569
+ if(alm.paging){
570
+ alm.window.resize(function() {
571
+ if ($.isFunction($.fn.almOnWindowResize)){
572
+ setTimeout(function(){
573
+ $.fn.almOnWindowResize(alm);
574
+ }, 250);
575
+ }
576
+ });
577
+ }
578
 
579
 
580
 
599
  * Load posts as user scrolls the page
600
  * @since 1.0
601
  */
602
+ if (alm.scroll && !alm.paging) {
603
  alm.window.bind("scroll touchstart", function () {
604
  if (alm.AjaxLoadMore.isVisible()) {
605
  var content_offset = alm.button.offset();
618
  * Load posts as user scrolls the page
619
  * @since 2.0
620
  */
621
+ if(!alm.paging){
622
+ if(alm.disable_ajax){
623
+ alm.finished = true;
624
+ alm.button.addClass('done');
625
+ }else{
626
+ if (alm.pause === 'true') {
627
+ alm.button.text(alm.button_label);
628
+ alm.loading = false;
629
+ } else {
630
+ alm.AjaxLoadMore.loadPosts();
631
+ }
632
  }
633
  }
634
 
636
  //flag to prevent unnecessary loading of post on init. Hold for 1 second
637
  setTimeout(function () {
638
  alm.proceed = true;
639
+ }, 500);
640
+
641
+
642
+
643
+ /* $.fn.almUpdateCurrentPage()
644
+ *
645
+ * Update current page - triggered from paging add-on
646
+ * @since 2.7.0
647
+ */
648
+
649
+ $.fn.almUpdateCurrentPage = function(current){
650
+ alm.page = current;
651
+ alm.AjaxLoadMore.loadPosts();
652
+ };
653
+
654
+
655
+
656
+ /* $.fn.almGetParentContainer()
657
+ *
658
+ * return the parent ALM container
659
+ *
660
+ * @since 2.7.0
661
+ * @return element
662
+ */
663
+ $.fn.almGetParentContainer = function(){
664
+ return alm.el.closest('#ajax-load-more'); // Return the parent #ajax-load-more div
665
+ };
666
+
667
+
668
+
669
+ /* $.fn.almGetObj()
670
+ *
671
+ * return the current ALM obj
672
+ *
673
+ * @since 2.7.0
674
+ * @return object
675
+ */
676
+ $.fn.almGetObj = function(){
677
+ return alm; // Return the entire alm object
678
+ };
679
+
680
 
681
 
682
  //Custom easing function
684
  if ((t /= d / 2) < 1) return c / 2 * t * t + b;
685
  return -c / 2 * ((--t) * (t - 2) - 1) + b;
686
  };
687
+
688
  };
689
 
690
  // End $.ajaxloadmore
748
  $('.alm-listing', el).attr('data-'+key, value);
749
  });
750
 
751
+ if ($.isFunction($.fn.almFilterComplete)){
752
  $.fn.almFilterComplete();
753
+ }
754
 
755
  $(".ajax-load-more-wrap").ajaxloadmore(); // re-initiate Ajax Load More
756
  };
757
+
758
 
759
 
760
  /* $.fn.ajaxloadmore()
779
  }
780
 
781
 
782
+ })(jQuery);
783
+
784
+
785
+
786
+ /*! almWaitForImages
787
+ jQuery Plugin
788
+ v2.0.2
789
+ Based on https://github.com/alexanderdickson/almWaitForImages
790
+ */
791
+ // Include almWaitForImages() for paging add-on
792
+ ;(function (factory) {
793
+ if (typeof define === 'function' && define.amd) {
794
+ // AMD. Register as an anonymous module.
795
+ define(['jquery'], factory);
796
+ } else if (typeof exports === 'object') {
797
+ // CommonJS / nodejs module
798
+ module.exports = factory(require('jquery'));
799
+ } else {
800
+ // Browser globals
801
+ factory(jQuery);
802
+ }
803
+ }(function ($) {
804
+ // Namespace all events.
805
+ var eventNamespace = 'almWaitForImages';
806
+
807
+ // CSS properties which contain references to images.
808
+ $.almWaitForImages = {
809
+ hasImageProperties: [
810
+ 'backgroundImage',
811
+ 'listStyleImage',
812
+ 'borderImage',
813
+ 'borderCornerImage',
814
+ 'cursor'
815
+ ],
816
+ hasImageAttributes: ['srcset']
817
+ };
818
+
819
+ // Custom selector to find all `img` elements with a valid `src` attribute.
820
+ $.expr[':']['has-src'] = function (obj) {
821
+ // Ensure we are dealing with an `img` element with a valid
822
+ // `src` attribute.
823
+ return $(obj).is('img[src][src!=""]');
824
+ };
825
+
826
+ // Custom selector to find images which are not already cached by the
827
+ // browser.
828
+ $.expr[':'].uncached = function (obj) {
829
+ // Ensure we are dealing with an `img` element with a valid
830
+ // `src` attribute.
831
+ if (!$(obj).is(':has-src')) {
832
+ return false;
833
+ }
834
+
835
+ return !obj.complete;
836
+ };
837
+
838
+ $.fn.almWaitForImages = function () {
839
+
840
+ var allImgsLength = 0;
841
+ var allImgsLoaded = 0;
842
+ var deferred = $.Deferred();
843
+
844
+ var finishedCallback;
845
+ var eachCallback;
846
+ var waitForAll;
847
+
848
+ // Handle options object (if passed).
849
+ if ($.isPlainObject(arguments[0])) {
850
+
851
+ waitForAll = arguments[0].waitForAll;
852
+ eachCallback = arguments[0].each;
853
+ finishedCallback = arguments[0].finished;
854
+
855
+ } else {
856
+
857
+ // Handle if using deferred object and only one param was passed in.
858
+ if (arguments.length === 1 && $.type(arguments[0]) === 'boolean') {
859
+ waitForAll = arguments[0];
860
+ } else {
861
+ finishedCallback = arguments[0];
862
+ eachCallback = arguments[1];
863
+ waitForAll = arguments[2];
864
+ }
865
+
866
+ }
867
+
868
+ // Handle missing callbacks.
869
+ finishedCallback = finishedCallback || $.noop;
870
+ eachCallback = eachCallback || $.noop;
871
+
872
+ // Convert waitForAll to Boolean
873
+ waitForAll = !! waitForAll;
874
+
875
+ // Ensure callbacks are functions.
876
+ if (!$.isFunction(finishedCallback) || !$.isFunction(eachCallback)) {
877
+ throw new TypeError('An invalid callback was supplied.');
878
+ }
879
+
880
+ this.each(function () {
881
+ // Build a list of all imgs, dependent on what images will
882
+ // be considered.
883
+ var obj = $(this);
884
+ var allImgs = [];
885
+ // CSS properties which may contain an image.
886
+ var hasImgProperties = $.almWaitForImages.hasImageProperties || [];
887
+ // Element attributes which may contain an image.
888
+ var hasImageAttributes = $.almWaitForImages.hasImageAttributes || [];
889
+ // To match `url()` references.
890
+ // Spec: http://www.w3.org/TR/CSS2/syndata.html#value-def-uri
891
+ var matchUrl = /url\(\s*(['"]?)(.*?)\1\s*\)/g;
892
+
893
+ if (waitForAll) {
894
+
895
+ // Get all elements (including the original), as any one of
896
+ // them could have a background image.
897
+ obj.find('*').addBack().each(function () {
898
+ var element = $(this);
899
+
900
+ // If an `img` element, add it. But keep iterating in
901
+ // case it has a background image too.
902
+ if (element.is('img:has-src')) {
903
+ allImgs.push({
904
+ src: element.attr('src'),
905
+ element: element[0]
906
+ });
907
+ }
908
+
909
+ $.each(hasImgProperties, function (i, property) {
910
+ var propertyValue = element.css(property);
911
+ var match;
912
+
913
+ // If it doesn't contain this property, skip.
914
+ if (!propertyValue) {
915
+ return true;
916
+ }
917
+
918
+ // Get all url() of this element.
919
+ while (match = matchUrl.exec(propertyValue)) {
920
+ allImgs.push({
921
+ src: match[2],
922
+ element: element[0]
923
+ });
924
+ }
925
+ });
926
+
927
+ $.each(hasImageAttributes, function (i, attribute) {
928
+ var attributeValue = element.attr(attribute);
929
+ var attributeValues;
930
+
931
+ // If it doesn't contain this property, skip.
932
+ if (!attributeValue) {
933
+ return true;
934
+ }
935
+
936
+ // Check for multiple comma separated images
937
+ attributeValues = attributeValue.split(',');
938
+
939
+ $.each(attributeValues, function(i, value) {
940
+ // Trim value and get string before first
941
+ // whitespace (for use with srcset).
942
+ value = $.trim(value).split(' ')[0];
943
+ allImgs.push({
944
+ src: value,
945
+ element: element[0]
946
+ });
947
+ });
948
+ });
949
+ });
950
+ } else {
951
+ // For images only, the task is simpler.
952
+ obj.find('img:has-src')
953
+ .each(function () {
954
+ allImgs.push({
955
+ src: this.src,
956
+ element: this
957
+ });
958
+ });
959
+ }
960
+
961
+ allImgsLength = allImgs.length;
962
+ allImgsLoaded = 0;
963
+
964
+ // If no images found, don't bother.
965
+ if (allImgsLength === 0) {
966
+ finishedCallback.call(obj[0]);
967
+ deferred.resolveWith(obj[0]);
968
+ }
969
+
970
+ $.each(allImgs, function (i, img) {
971
+
972
+ var image = new Image();
973
+ var events =
974
+ 'load.' + eventNamespace + ' error.' + eventNamespace;
975
+
976
+ // Handle the image loading and error with the same callback.
977
+ $(image).one(events, function me (event) {
978
+ // If an error occurred with loading the image, set the
979
+ // third argument accordingly.
980
+ var eachArguments = [
981
+ allImgsLoaded,
982
+ allImgsLength,
983
+ event.type == 'load'
984
+ ];
985
+ allImgsLoaded++;
986
+
987
+ eachCallback.apply(img.element, eachArguments);
988
+ deferred.notifyWith(img.element, eachArguments);
989
+
990
+ // Unbind the event listeners. I use this in addition to
991
+ // `one` as one of those events won't be called (either
992
+ // 'load' or 'error' will be called).
993
+ $(this).off(events, me);
994
+
995
+ if (allImgsLoaded == allImgsLength) {
996
+ finishedCallback.call(obj[0]);
997
+ deferred.resolveWith(obj[0]);
998
+ return false;
999
+ }
1000
+
1001
+ });
1002
+
1003
+ image.src = img.src;
1004
+ });
1005
+ });
1006
+
1007
+ return deferred.promise();
1008
+
1009
+ };
1010
+ }));
core/js/ajax-load-more.min.js CHANGED
@@ -12,35 +12,62 @@
12
  */
13
 
14
 
 
15
  (function($){"use strict";$.ajaxloadmore=function(el){if(alm_localize.scrolltop==='true'){$(window).scrollTop(0);}
16
- var alm=this;alm.AjaxLoadMore={};alm.page=0;alm.speed=300;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.content=$('.alm-listing.alm-ajax',alm.el);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.scroll_distance=parseInt(alm.content.attr('data-scroll-distance'));alm.max_pages=parseInt(alm.content.attr('data-max-pages'));alm.pause=alm.content.attr('data-pause');alm.transition=alm.content.attr('data-transition');alm.destroy_after=alm.content.attr('data-destroy-after');alm.lang=alm.content.attr('data-lang');alm.posts_per_page=alm.content.attr('data-posts-per-page');alm.seo=alm.content.attr('data-seo');alm.preloaded=alm.content.attr('data-preloaded');alm.preloaded_amount=alm.content.attr('data-preloaded-amount');if(alm.content.attr('data-offset')===undefined){alm.offset=0;}else{alm.offset=alm.content.attr('data-offset');}
 
 
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;}
20
  if(alm.total_posts<=alm.preloaded_amount){alm.disable_ajax=true;}}else{alm.preloaded='false';}
21
  if(alm.seo===undefined){alm.seo=false;}
22
  if(alm.seo==='true'){alm.seo=true;}
23
- alm.permalink=alm.content.attr('data-seo-permalink');alm.pageview=alm.content.attr('data-seo-pageview');alm.start_page=alm.content.attr('data-seo-start-page');if(alm.start_page){alm.seo_scroll=alm.content.attr('data-seo-scroll');alm.seo_scroll_speed=alm.content.attr('data-seo-scroll-speed');alm.seo_scrolltop=alm.content.attr('data-seo-scrolltop');alm.isPaged=false;if(alm.start_page>1){alm.isPaged=true;alm.posts_per_page=alm.start_page*alm.posts_per_page;}}
 
 
24
  if(alm.pause===undefined||(alm.seo&&alm.start_page>1)){alm.pause=false;}
25
- if(alm.preloaded&&alm.start_page>=1){alm.pause=false;}
26
  if(alm.repeater===undefined){alm.repeater='default';}
27
  if(alm.max_pages===undefined){alm.max_pages=5;}
28
- if(alm.max_pages===0){alm.max_pages=1000;}
29
  if(alm.scroll_distance===undefined){alm.scroll_distance=150;}
30
  if(alm.transition===undefined){alm.transition='slide';}else if(alm.transition==="fade"){alm.transition='fade';}else if(alm.transition==="none"){alm.transition='none';}else{alm.transition='slide';}
31
  if(alm.destroy_after!==undefined){}
32
  if(alm.content.attr('data-button-label')===undefined){alm.button_label='Older Posts';}else{alm.button_label=alm.content.attr('data-button-label');}
33
  if(alm.content.attr('data-button-class')===undefined){alm.button_class='';}else{alm.button_class=' '+alm.content.attr('data-button-class');}
34
  if(alm.content.attr('data-scroll')===undefined){alm.scroll=true;}else if(alm.content.attr('data-scroll')==='false'){alm.scroll=false;}else{alm.scroll=true;}
35
- alm.post_type=alm.content.attr('data-post-type');alm.post_type=alm.post_type.split(",");alm.el.append('<div class="'+alm.prefix+'btn-wrap"><button id="load-more" class="'+alm.prefix+'load-more-btn more'+alm.button_class+'">'+alm.button_label+'</button></div>');alm.button=$('.alm-load-more-btn',alm.el);alm.AjaxLoadMore.loadPosts=function(){if(!alm.disable_ajax){alm.button.addClass('loading');alm.loading=true;if(alm.cache==='true'&&!alm.cache_logged_in){if(alm.init&&alm.seo&&alm.isPaged){alm.AjaxLoadMore.ajax();}else{var cachePage=alm.cache_path+'/page-'+alm.page+'.html';$.get(cachePage,function(data){alm.AjaxLoadMore.success(data);}).fail(function(){alm.AjaxLoadMore.ajax();});}}else{alm.AjaxLoadMore.ajax();}}};alm.AjaxLoadMore.ajax=function(){$.ajax({type:"GET",url:alm_localize.ajaxurl,data:{action:'ajax_load_more_init',nonce:alm_localize.alm_nonce,cache_id:alm.cache_id,repeater:alm.repeater,postType:alm.post_type,post_format:alm.content.attr('data-post-format'),category:alm.content.attr('data-category'),category__not_in:alm.content.attr('data-category-not-in'),tag:alm.content.attr('data-tag'),tag__not_in:alm.content.attr('data-tag-not-in'),taxonomy:alm.content.attr('data-taxonomy'),taxonomy_terms:alm.content.attr('data-taxonomy-terms'),taxonomy_operator:alm.content.attr('data-taxonomy-operator'),meta_key:alm.content.attr('data-meta-key'),meta_value:alm.content.attr('data-meta-value'),meta_compare:alm.content.attr('data-meta-compare'),author:alm.content.attr('data-author'),year:alm.content.attr('data-year'),month:alm.content.attr('data-month'),day:alm.content.attr('data-day'),post_status:alm.content.attr('data-post-status'),order:alm.content.attr('data-order'),orderby:alm.content.attr('data-orderby'),post__in:alm.content.attr('data-post-in'),exclude:alm.content.attr('data-exclude'),search:alm.content.attr('data-search'),custom_args:alm.content.attr('data-custom-args'),posts_per_page:alm.posts_per_page,pageNumber:alm.page,offset:alm.offset,preloaded:alm.preloaded,preloaded_amount:alm.preloaded_amount,seo_start_page:alm.start_page,lang:alm.lang},dataType:"html",beforeSend:function(){if(alm.page!=1){alm.button.addClass('loading');}},success:function(data){alm.AjaxLoadMore.success(data);},error:function(jqXHR,textStatus,errorThrown){alm.AjaxLoadMore.error(jqXHR,textStatus,errorThrown);}});};alm.AjaxLoadMore.success=function(data){alm.data=$(data);if(alm.init){alm.button.text(alm.button_label);alm.init=false;if(!alm.data.length>0){if($.isFunction($.fn.almEmpty)){$.fn.almEmpty(alm);}}
 
 
 
 
 
 
36
  if(alm.isPaged){alm.posts_per_page=alm.content.attr('data-posts-per-page');alm.page=alm.start_page-1;}}
37
- if(alm.data.length>0){alm.el=$('<div class="'+alm.prefix+'reveal"/>');alm.el.append(alm.data).hide();alm.content.append(alm.el);if(alm.transition==='fade'){alm.el.fadeIn(alm.speed,'alm_easeInOutQuad',function(){alm.loading=false;alm.button.delay(alm.speed).removeClass('loading');if(alm.data.length<alm.posts_per_page){alm.finished=true;alm.button.addClass('done');}});}else if(alm.transition==='none'){alm.el.show();alm.loading=false;alm.button.delay(alm.speed).removeClass('loading');if(alm.data.length<alm.posts_per_page){alm.finished=true;alm.button.addClass('done');}}else{alm.el.slideDown(alm.speed,'alm_easeInOutQuad',function(){alm.loading=false;alm.button.delay(alm.speed).removeClass('loading');if(alm.data.length<alm.posts_per_page){alm.finished=true;alm.button.addClass('done');}});}
 
 
 
38
  if($.isFunction($.fn.almComplete)){$.fn.almComplete(alm);}
39
- if($(".ajax-load-more-wrap").length===1){if($.isFunction($.fn.almSEO)&&alm.seo){$.fn.almSEO(alm);}}}else{alm.button.delay(alm.speed).removeClass('loading').addClass('done');alm.loading=false;alm.finished=true;}
 
40
  if(alm.destroy_after!==undefined&&alm.destroy_after!==''){var currentPage=alm.page+1;if(alm.preload){currentPage++;}
41
- if(currentPage==alm.destroy_after){alm.disable_ajax=true;alm.button.delay(alm.speed).fadeOut(alm.speed);}}};alm.AjaxLoadMore.error=function(jqXHR,textStatus,errorThrown){alm.loading=false;alm.button.removeClass('loading');console.log(errorThrown);};alm.button.on('click',function(){if(alm.pause==='true'){alm.pause=false;alm.AjaxLoadMore.loadPosts();}
42
- if(!alm.loading&&!alm.finished&&!$(this).hasClass('done')){alm.loading=true;alm.page++;alm.AjaxLoadMore.loadPosts();}});alm.AjaxLoadMore.isVisible=function(){alm.visible=false;if(alm.el.is(":visible")){alm.visible=true;}
43
- return alm.visible;};if(alm.scroll){alm.window.bind("scroll touchstart",function(){if(alm.AjaxLoadMore.isVisible()){var content_offset=alm.button.offset();if(!alm.loading&&!alm.finished&&(alm.window.scrollTop()>=Math.round(content_offset.top-(alm.window.height()-alm.scroll_distance)))&&alm.page<(alm.max_pages-1)&&alm.proceed&&alm.pause!=='true'){alm.page++;alm.AjaxLoadMore.loadPosts();}}});}
44
- if(alm.disable_ajax){alm.finished=true;alm.button.addClass('done');}else{if(alm.pause==='true'){alm.button.text(alm.button_label);alm.loading=false;}else{alm.AjaxLoadMore.loadPosts();}}
45
- setTimeout(function(){alm.proceed=true;},1000);$.easing.alm_easeInOutQuad=function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;};};$.fn.almFilter=function(transition,speed,data){$(".ajax-load-more-wrap").each(function(e){var el=$(this);if(transition==='slide'){el.slideUp(speed,function(){$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);});}else if(transition==='fade'){el.fadeOut(speed,function(){$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);});}else{$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);}});};$.fn.almSetFilters=function(el,data){$.each(data,function(key,value){key=key.replace(/\W+/g,'-').replace(/([a-z\d])([A-Z])/g,'$1-$2');$('.alm-listing',el).attr('data-'+key,value);});if($.isFunction($.fn.almFilterComplete))
46
- $.fn.almFilterComplete();$(".ajax-load-more-wrap").ajaxloadmore();};$.fn.ajaxloadmore=function(){return this.each(function(){$(this).data('alm',new $.ajaxloadmore($(this)));});};if($(".ajax-load-more-wrap").length){$(".ajax-load-more-wrap").ajaxloadmore();}})(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
12
  */
13
 
14
 
15
+
16
  (function($){"use strict";$.ajaxloadmore=function(el){if(alm_localize.scrolltop==='true'){$(window).scrollTop(0);}
17
+ 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.content=$('.alm-listing.alm-ajax',alm.el);alm.content_preloaded=$('.alm-listing.alm-preloaded',alm.el);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.scroll_distance=parseInt(alm.content.attr('data-scroll-distance'));alm.max_pages=parseInt(alm.content.attr('data-max-pages'));alm.pause=alm.content.attr('data-pause');alm.transition=alm.content.attr('data-transition');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.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;}
18
+ if(alm.paging_controls==='true'){alm.paging_controls=true;}else{alm.paging_controls=false;}
19
+ if($(".ajax-load-more-wrap").length>1){}
20
  if(alm.cache===undefined){alm.cache=false;}
21
  if(alm.cache_logged_in===undefined){alm.cache_logged_in=false;}
22
  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;}
23
  if(alm.total_posts<=alm.preloaded_amount){alm.disable_ajax=true;}}else{alm.preloaded='false';}
24
  if(alm.seo===undefined){alm.seo=false;}
25
  if(alm.seo==='true'){alm.seo=true;}
26
+ alm.permalink=alm.content.attr('data-seo-permalink');alm.pageview=alm.content.attr('data-seo-pageview');alm.start_page=alm.content.attr('data-seo-start-page');if(alm.start_page){alm.seo_scroll=alm.content.attr('data-seo-scroll');alm.seo_scroll_speed=alm.content.attr('data-seo-scroll-speed');alm.seo_scrolltop=alm.content.attr('data-seo-scrolltop');alm.isPaged=false;if(alm.start_page>1){alm.isPaged=true;alm.posts_per_page=alm.start_page*alm.posts_per_page;}
27
+ if(alm.paging){alm.posts_per_page=alm.orginal_posts_per_page;}}else{alm.start_page=1;}
28
+ if(alm.content.attr('data-offset')===undefined){alm.offset=0;}else{alm.offset=alm.content.attr('data-offset');}
29
  if(alm.pause===undefined||(alm.seo&&alm.start_page>1)){alm.pause=false;}
30
+ if(alm.preloaded==='true'&&alm.seo&&alm.start_page>0){alm.pause=false;}
31
  if(alm.repeater===undefined){alm.repeater='default';}
32
  if(alm.max_pages===undefined){alm.max_pages=5;}
33
+ if(alm.max_pages===0){alm.max_pages=10000;}
34
  if(alm.scroll_distance===undefined){alm.scroll_distance=150;}
35
  if(alm.transition===undefined){alm.transition='slide';}else if(alm.transition==="fade"){alm.transition='fade';}else if(alm.transition==="none"){alm.transition='none';}else{alm.transition='slide';}
36
  if(alm.destroy_after!==undefined){}
37
  if(alm.content.attr('data-button-label')===undefined){alm.button_label='Older Posts';}else{alm.button_label=alm.content.attr('data-button-label');}
38
  if(alm.content.attr('data-button-class')===undefined){alm.button_class='';}else{alm.button_class=' '+alm.content.attr('data-button-class');}
39
  if(alm.content.attr('data-scroll')===undefined){alm.scroll=true;}else if(alm.content.attr('data-scroll')==='false'){alm.scroll=false;}else{alm.scroll=true;}
40
+ alm.post_type=alm.content.attr('data-post-type');alm.post_type=alm.post_type.split(",");alm.el.append('<div class="'+alm.prefix+'btn-wrap"/>');alm.btnWrap=$('.'+alm.prefix+'btn-wrap',alm.el);if(!alm.paging){$('.'+alm.prefix+'btn-wrap',alm.el).append('<button id="load-more" class="'+alm.prefix+'load-more-btn more'+alm.button_class+'">'+alm.button_label+'</button>');alm.button=$('.alm-load-more-btn',alm.el);}else{alm.content.parent().addClass('loading');}
41
+ alm.AjaxLoadMore.loadPosts=function(){if(!alm.disable_ajax){if(!alm.paging){alm.button.addClass('loading');}
42
+ alm.loading=true;if(alm.cache==='true'&&!alm.cache_logged_in){if(alm.init&&alm.seo&&alm.isPaged){alm.AjaxLoadMore.ajax('standard');}else{var cachePage=alm.cache_path+'/page-'+alm.page+'.html';$.get(cachePage,function(data){alm.AjaxLoadMore.success(data);}).fail(function(){alm.AjaxLoadMore.ajax('standard');});}}else{alm.AjaxLoadMore.ajax('standard');}}};alm.AjaxLoadMore.ajax=function(queryType){$.ajax({type:"GET",url:alm_localize.ajaxurl,data:{action:'alm_query_posts',query_type:queryType,nonce:alm_localize.alm_nonce,cache_id:alm.cache_id,repeater:alm.repeater,post_type:alm.post_type,post_format:alm.content.attr('data-post-format'),category:alm.content.attr('data-category'),category__not_in:alm.content.attr('data-category-not-in'),tag:alm.content.attr('data-tag'),tag__not_in:alm.content.attr('data-tag-not-in'),taxonomy:alm.content.attr('data-taxonomy'),taxonomy_terms:alm.content.attr('data-taxonomy-terms'),taxonomy_operator:alm.content.attr('data-taxonomy-operator'),meta_key:alm.content.attr('data-meta-key'),meta_value:alm.content.attr('data-meta-value'),meta_compare:alm.content.attr('data-meta-compare'),meta_relation:alm.content.attr('data-meta-relation'),author:alm.content.attr('data-author'),year:alm.content.attr('data-year'),month:alm.content.attr('data-month'),day:alm.content.attr('data-day'),post_status:alm.content.attr('data-post-status'),order:alm.content.attr('data-order'),orderby:alm.content.attr('data-orderby'),post__in:alm.content.attr('data-post-in'),exclude:alm.content.attr('data-exclude'),search:alm.content.attr('data-search'),custom_args:alm.content.attr('data-custom-args'),posts_per_page:alm.posts_per_page,pageNumber:alm.page,offset:alm.offset,preloaded:alm.preloaded,preloaded_amount:alm.preloaded_amount,seo_start_page:alm.start_page,lang:alm.lang},dataType:"html",beforeSend:function(){if(alm.page!=1&&!alm.paging){alm.button.addClass('loading');}},success:function(data){if(queryType==='standard'){alm.AjaxLoadMore.success(data);}
43
+ else if(queryType==='totalposts'&&alm.paging){if($.isFunction($.fn.almBuildPagination)){$.fn.almBuildPagination(data,alm);}}},error:function(jqXHR,textStatus,errorThrown){alm.AjaxLoadMore.error(jqXHR,textStatus,errorThrown);}});};if(alm.paging){alm.AjaxLoadMore.ajax('totalposts');}
44
+ alm.AjaxLoadMore.success=function(data){alm.data=$(data);if(alm.init){if(!alm.paging){alm.button.text(alm.button_label);}else
45
+ {if(alm.data.length>0){alm.el=$('<div class="alm-reveal"/>');alm.el.append('<div class="alm-paging-content"></div><div class="alm-paging-loading"></div>');$('.alm-paging-content',alm.el).append(alm.data).hide();alm.content.append(alm.el);alm.content.parent().removeClass('loading');$('.alm-paging-content',alm.el).fadeIn(alm.speed,'alm_easeInOutQuad',function(){var paddingT=parseInt(alm.content.css('padding-top')),paddingB=parseInt(alm.content.css('padding-bottom'));alm.content.css('height',alm.el.height()+paddingT+paddingB+'px');if($.isFunction($.fn.almFadePageControls)){$.fn.almFadePageControls(alm.btnWrap);}});}}
46
+ if(!alm.data.length>0){if($.isFunction($.fn.almEmpty)){$.fn.almEmpty(alm);}}
47
  if(alm.isPaged){alm.posts_per_page=alm.content.attr('data-posts-per-page');alm.page=alm.start_page-1;}}
48
+ if(alm.data.length>0){if(!alm.paging){alm.el=$('<div class="alm-reveal"/>');alm.el.append(alm.data).hide();alm.content.append(alm.el);if(alm.transition==='fade'){alm.el.fadeIn(alm.speed,'alm_easeInOutQuad',function(){alm.loading=false;if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading');}
49
+ if(alm.data.length<alm.posts_per_page){alm.finished=true;if(!alm.paging){alm.button.addClass('done');}}});}else if(alm.transition==='none'){alm.el.show();alm.loading=false;if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading');}
50
+ 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');}
51
+ 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);}});}}
52
  if($.isFunction($.fn.almComplete)){$.fn.almComplete(alm);}
53
+ if($(".ajax-load-more-wrap").length===1){if($.isFunction($.fn.almSEO)&&alm.seo){$.fn.almSEO(alm);}}}else{if(!alm.paging){alm.button.delay(alm.speed).removeClass('loading').addClass('done');}
54
+ alm.loading=false;alm.finished=true;}
55
  if(alm.destroy_after!==undefined&&alm.destroy_after!==''){var currentPage=alm.page+1;if(alm.preload){currentPage++;}
56
+ if(currentPage==alm.destroy_after){alm.disable_ajax=true;if(!alm.paging){alm.button.delay(alm.speed).fadeOut(alm.speed);}}}
57
+ alm.init=false;};alm.AjaxLoadMore.error=function(jqXHR,textStatus,errorThrown){alm.loading=false;if(!alm.paging){alm.button.removeClass('loading');}
58
+ console.log(errorThrown);};if(!alm.paging){alm.button.on('click',function(){if(alm.pause==='true'){alm.pause=false;alm.AjaxLoadMore.loadPosts();}
59
+ if(!alm.loading&&!alm.finished&&!$(this).hasClass('done')){alm.loading=true;alm.page++;alm.AjaxLoadMore.loadPosts();}});}
60
+ if(alm.paging){alm.window.resize(function(){if($.isFunction($.fn.almOnWindowResize)){setTimeout(function(){$.fn.almOnWindowResize(alm);},250);}});}
61
+ alm.AjaxLoadMore.isVisible=function(){alm.visible=false;if(alm.el.is(":visible")){alm.visible=true;}
62
+ return alm.visible;};if(alm.scroll&&!alm.paging){alm.window.bind("scroll touchstart",function(){if(alm.AjaxLoadMore.isVisible()){var content_offset=alm.button.offset();if(!alm.loading&&!alm.finished&&(alm.window.scrollTop()>=Math.round(content_offset.top-(alm.window.height()-alm.scroll_distance)))&&alm.page<(alm.max_pages-1)&&alm.proceed&&alm.pause!=='true'){alm.page++;alm.AjaxLoadMore.loadPosts();}}});}
63
+ if(!alm.paging){if(alm.disable_ajax){alm.finished=true;alm.button.addClass('done');}else{if(alm.pause==='true'){alm.button.text(alm.button_label);alm.loading=false;}else{alm.AjaxLoadMore.loadPosts();}}}
64
+ setTimeout(function(){alm.proceed=true;},500);$.fn.almUpdateCurrentPage=function(current){alm.page=current;alm.AjaxLoadMore.loadPosts();};$.fn.almGetParentContainer=function(){return alm.el.closest('#ajax-load-more');};$.fn.almGetObj=function(){return alm;};$.easing.alm_easeInOutQuad=function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;};};$.fn.almFilter=function(transition,speed,data){$(".ajax-load-more-wrap").each(function(e){var el=$(this);if(transition==='slide'){el.slideUp(speed,function(){$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);});}else if(transition==='fade'){el.fadeOut(speed,function(){$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);});}else{$('.alm-listing',el).html('');$('.alm-btn-wrap',el).remove();el.fadeIn(speed);$.fn.almSetFilters(el,data);}});};$.fn.almSetFilters=function(el,data){$.each(data,function(key,value){key=key.replace(/\W+/g,'-').replace(/([a-z\d])([A-Z])/g,'$1-$2');$('.alm-listing',el).attr('data-'+key,value);});if($.isFunction($.fn.almFilterComplete)){$.fn.almFilterComplete();}
65
+ $(".ajax-load-more-wrap").ajaxloadmore();};$.fn.ajaxloadmore=function(){return this.each(function(){$(this).data('alm',new $.ajaxloadmore($(this)));});};if($(".ajax-load-more-wrap").length){$(".ajax-load-more-wrap").ajaxloadmore();}})(jQuery);;(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory(require('jquery'));}else{factory(jQuery);}}(function($){var eventNamespace='almWaitForImages';$.almWaitForImages={hasImageProperties:['backgroundImage','listStyleImage','borderImage','borderCornerImage','cursor'],hasImageAttributes:['srcset']};$.expr[':']['has-src']=function(obj){return $(obj).is('img[src][src!=""]');};$.expr[':'].uncached=function(obj){if(!$(obj).is(':has-src')){return false;}
66
+ return!obj.complete;};$.fn.almWaitForImages=function(){var allImgsLength=0;var allImgsLoaded=0;var deferred=$.Deferred();var finishedCallback;var eachCallback;var waitForAll;if($.isPlainObject(arguments[0])){waitForAll=arguments[0].waitForAll;eachCallback=arguments[0].each;finishedCallback=arguments[0].finished;}else{if(arguments.length===1&&$.type(arguments[0])==='boolean'){waitForAll=arguments[0];}else{finishedCallback=arguments[0];eachCallback=arguments[1];waitForAll=arguments[2];}}
67
+ finishedCallback=finishedCallback||$.noop;eachCallback=eachCallback||$.noop;waitForAll=!!waitForAll;if(!$.isFunction(finishedCallback)||!$.isFunction(eachCallback)){throw new TypeError('An invalid callback was supplied.');}
68
+ this.each(function(){var obj=$(this);var allImgs=[];var hasImgProperties=$.almWaitForImages.hasImageProperties||[];var hasImageAttributes=$.almWaitForImages.hasImageAttributes||[];var matchUrl=/url\(\s*(['"]?)(.*?)\1\s*\)/g;if(waitForAll){obj.find('*').addBack().each(function(){var element=$(this);if(element.is('img:has-src')){allImgs.push({src:element.attr('src'),element:element[0]});}
69
+ $.each(hasImgProperties,function(i,property){var propertyValue=element.css(property);var match;if(!propertyValue){return true;}
70
+ while(match=matchUrl.exec(propertyValue)){allImgs.push({src:match[2],element:element[0]});}});$.each(hasImageAttributes,function(i,attribute){var attributeValue=element.attr(attribute);var attributeValues;if(!attributeValue){return true;}
71
+ attributeValues=attributeValue.split(',');$.each(attributeValues,function(i,value){value=$.trim(value).split(' ')[0];allImgs.push({src:value,element:element[0]});});});});}else{obj.find('img:has-src').each(function(){allImgs.push({src:this.src,element:this});});}
72
+ allImgsLength=allImgs.length;allImgsLoaded=0;if(allImgsLength===0){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0]);}
73
+ $.each(allImgs,function(i,img){var image=new Image();var events='load.'+eventNamespace+' error.'+eventNamespace;$(image).one(events,function me(event){var eachArguments=[allImgsLoaded,allImgsLength,event.type=='load'];allImgsLoaded++;eachCallback.apply(img.element,eachArguments);deferred.notifyWith(img.element,eachArguments);$(this).off(events,me);if(allImgsLoaded==allImgsLength){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0]);return false;}});image.src=img.src;});});return deferred.promise();};}));
lang/ajax-load-more.pot CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ajax Load More\n"
4
- "POT-Creation-Date: 2015-05-04 15:22-0500\n"
5
- "PO-Revision-Date: 2015-05-04 15:22-0500\n"
6
  "Last-Translator: Darren Cooney <darren.cooney@gmail.com>\n"
7
  "Language-Team: \n"
8
  "Language: en_CA\n"
@@ -27,200 +27,121 @@ msgid ""
27
  "php)."
28
  msgstr ""
29
 
30
- #: ../admin/admin.php:350
31
  msgid ""
32
  "[Ajax Load More] Error opening repeater template - Please check your file "
33
  "path and ensure your server is configured to allow Ajax Load More to read "
34
  "and write files within the /ajax-load-more/core/repeater directory"
35
  msgstr ""
36
 
37
- #: ../admin/admin.php:354
38
  msgid ""
39
  "[Ajax Load More]Error saving repeater template - Please check your file path "
40
  "and ensure your server is configured to allow Ajax Load More to read and "
41
  "write files within the /ajax-load-more/core/repeater directory."
42
  msgstr ""
43
 
44
- #: ../admin/admin.php:387
45
  msgid "Error Writing File"
46
  msgstr ""
47
 
48
- #: ../admin/admin.php:495
49
  msgid "Container Type"
50
  msgstr ""
51
 
52
- #: ../admin/admin.php:503
53
  msgid "Container Classes"
54
  msgstr ""
55
 
56
- #: ../admin/admin.php:511
57
  msgid "Editor Button"
58
  msgstr ""
59
 
60
- #: ../admin/admin.php:519
61
  msgid "Dynamic Content"
62
  msgstr ""
63
 
64
- #: ../admin/admin.php:527
65
  msgid "Ajax Security"
66
  msgstr ""
67
 
68
- #: ../admin/admin.php:535
69
  msgid "Top of Page"
70
  msgstr ""
71
 
72
- #: ../admin/admin.php:543
73
  msgid "Disable CSS"
74
  msgstr ""
75
 
76
- #: ../admin/admin.php:551
77
  msgid "Button Color"
78
  msgstr ""
79
 
80
- #: ../admin/admin.php:559
81
  msgid "Button Classes"
82
  msgstr ""
83
 
84
- #: ../admin/admin.php:575
85
- msgid "Published Posts"
86
- msgstr ""
87
-
88
- #: ../admin/admin.php:582
89
- msgid "Known Users"
90
- msgstr ""
91
-
92
- #: ../admin/admin.php:601
93
- msgid "SEO Permalinks"
94
- msgstr ""
95
-
96
- #: ../admin/admin.php:608
97
- msgid "Scroll to Page"
98
- msgstr ""
99
-
100
- #: ../admin/admin.php:615
101
- msgid "Scroll Speed"
102
- msgstr ""
103
-
104
- #: ../admin/admin.php:622
105
- msgid "Scroll Top"
106
- msgstr ""
107
-
108
- #: ../admin/admin.php:641
109
  msgid "Customize your version of Ajax Load More by updating the fields below."
110
  msgstr ""
111
 
112
- #: ../admin/admin.php:672
113
  msgid "I want to use my own CSS styles."
114
  msgstr ""
115
 
116
- #: ../admin/admin.php:672
117
  msgid "View Ajax Load More CSS"
118
  msgstr ""
119
 
120
- #: ../admin/admin.php:692
121
  msgid "Hide shortcode button in WYSIWYG editor."
122
  msgstr ""
123
 
124
- #: ../admin/admin.php:713
125
  msgid ""
126
  "Disable dynamic population of categories, tags and authors in the Shortcode "
127
  "Builder.<span style=\"display:block\">Recommended if you have an "
128
  "extraordinary number of categories, tags and/or authors."
129
  msgstr ""
130
 
131
- #: ../admin/admin.php:729
132
- msgid "Add classes to Ajax Load More container."
 
 
 
 
133
  msgstr ""
134
 
135
- #: ../admin/admin.php:751 ../admin/admin.php:754
136
  msgid "Ajax Posts Here"
137
  msgstr ""
138
 
139
- #: ../admin/admin.php:798
140
  msgid "Choose your <strong>Load More</strong> button color"
141
  msgstr ""
142
 
143
- #: ../admin/admin.php:809
144
  msgid "Preview"
145
  msgstr ""
146
 
147
- #: ../admin/admin.php:828
148
  msgid "Add classes to your <strong>Load More</strong> button"
149
  msgstr ""
150
 
151
- #: ../admin/admin.php:881
152
  msgid ""
153
  "On initial page load, move the user's browser window to the top of the "
154
  "screen.<span style=\"display:block\">This <u>may</u> help prevent the "
155
  "loading of unnecessary posts.</span>"
156
  msgstr ""
157
 
158
- #: ../admin/admin.php:902
159
  msgid ""
160
  "Enable <a href=\"https://codex.wordpress.org/WordPress_Nonces\" target="
161
  "\"_blank\">WP nonce</a> verification to help protect URLs against certain "
162
  "types of misuse, malicious or otherwise on each Ajax Load More query."
163
  msgstr ""
164
 
165
- #: ../admin/admin.php:917
166
- msgid ""
167
- "Customize your installation of the <a href=\"http://connekthq.com/plugins/"
168
- "ajax-load-more/cache/\">Cache</a> add-on."
169
- msgstr ""
170
-
171
- #: ../admin/admin.php:939
172
- msgid "Delete cache when new posts are published."
173
- msgstr ""
174
-
175
- #: ../admin/admin.php:940
176
- msgid ""
177
- "Cache will be fully cleared whenever a post, page or Custom Post Type is "
178
- "published or updated."
179
- msgstr ""
180
-
181
- #: ../admin/admin.php:965
182
- msgid "Don't cache files for logged in users."
183
- msgstr ""
184
-
185
- #: ../admin/admin.php:966
186
- msgid ""
187
- "Logged in users will retrieve content directly from the database and will "
188
- "not view any cached content."
189
- msgstr ""
190
-
191
- #: ../admin/admin.php:983
192
- msgid ""
193
- "Customize your installation of the <a href=\"http://connekthq.com/plugins/"
194
- "ajax-load-more/seo/\">Search Engine Optimization</a> add-on."
195
- msgstr ""
196
-
197
- #: ../admin/admin.php:1007
198
- msgid ""
199
- "Pretty Permalinks (mod_rewrite) <br/><span>http://example.com/2012/post-name/"
200
- "</span>"
201
- msgstr ""
202
-
203
- #: ../admin/admin.php:1010
204
- msgid "Default (Ugly) <br/><span>http://example.com/?p=N</span>"
205
- msgstr ""
206
-
207
- #: ../admin/admin.php:1034
208
- msgid ""
209
- "Enable window scrolling.<br/><span>If scrolling is enabled, the users window "
210
- "will scroll to the current page on 'Load More' button click and while "
211
- "interacting with the forward and back browser buttons.</span>"
212
- msgstr ""
213
-
214
- #: ../admin/admin.php:1056
215
- msgid ""
216
- "Set the scrolling speed of the page in milliseconds. <br/><span>e.g. 1 "
217
- "second = 1000</span>"
218
- msgstr ""
219
-
220
- #: ../admin/admin.php:1077
221
- msgid "Set the scrolltop position of the window when scrolling to post."
222
- msgstr ""
223
-
224
  #: ../admin/editor/editor-build.php:40
225
  msgid "Jump to Option"
226
  msgstr ""
@@ -362,6 +283,26 @@ msgid ""
362
  "Directory access may not be granted."
363
  msgstr ""
364
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365
  #: ../admin/shortcode-builder/shortcode-builder.php:1
366
  #: ../admin/views/examples.php:9 ../admin/views/repeater-templates.php:13
367
  msgid "Collapse All"
@@ -373,368 +314,400 @@ msgid "Expand All"
373
  msgstr ""
374
 
375
  #: ../admin/shortcode-builder/shortcode-builder.php:16
376
- #: ../admin/views/add-ons.php:17
377
  msgid "Cache"
378
  msgstr ""
379
 
380
- #: ../admin/shortcode-builder/shortcode-builder.php:20
381
  msgid "Turn on content caching for this Ajax Load More query."
382
  msgstr ""
383
 
384
- #: ../admin/shortcode-builder/shortcode-builder.php:27
385
- #: ../admin/shortcode-builder/shortcode-builder.php:69
386
- #: ../admin/shortcode-builder/shortcode-builder.php:110
387
- #: ../admin/shortcode-builder/shortcode-builder.php:623
388
- #: ../admin/shortcode-builder/shortcode-builder.php:648
 
 
389
  msgid "True"
390
  msgstr ""
391
 
392
- #: ../admin/shortcode-builder/shortcode-builder.php:31
393
- #: ../admin/shortcode-builder/shortcode-builder.php:73
394
- #: ../admin/shortcode-builder/shortcode-builder.php:114
395
- #: ../admin/shortcode-builder/shortcode-builder.php:627
396
- #: ../admin/shortcode-builder/shortcode-builder.php:652
 
 
397
  msgid "False"
398
  msgstr ""
399
 
400
- #: ../admin/shortcode-builder/shortcode-builder.php:42
401
  msgid ""
402
  "You <u>must</u> generate a unique ID for this cached query - this unique ID "
403
  "will be used as a content identifier."
404
  msgstr ""
405
 
406
- #: ../admin/shortcode-builder/shortcode-builder.php:48
407
  msgid "Generate New ID"
408
  msgstr ""
409
 
410
- #: ../admin/shortcode-builder/shortcode-builder.php:59
411
- #: ../admin/views/add-ons.php:67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  msgid "Preloaded"
413
  msgstr ""
414
 
415
- #: ../admin/shortcode-builder/shortcode-builder.php:62
416
  msgid "Preload posts prior to making Ajax requests."
417
  msgstr ""
418
 
419
- #: ../admin/shortcode-builder/shortcode-builder.php:84
420
  msgid "Enter the number of posts to preload."
421
  msgstr ""
422
 
423
- #: ../admin/shortcode-builder/shortcode-builder.php:100
424
  msgid "SEO (Search Engine Optimization)"
425
  msgstr ""
426
 
427
- #: ../admin/shortcode-builder/shortcode-builder.php:103
428
  msgid ""
429
  "Enable address bar URL rewrites as users page through ajax loaded content."
430
  msgstr ""
431
 
432
- #: ../admin/shortcode-builder/shortcode-builder.php:127
433
  msgid "Template"
434
  msgstr ""
435
 
436
- #: ../admin/shortcode-builder/shortcode-builder.php:130
437
  msgid ""
438
  "Select which <a href=\"admin.php?page=ajax-load-more-repeaters\" target="
439
  "\"_parent\">repeater template</a> you would like to use."
440
  msgstr ""
441
 
442
- #: ../admin/shortcode-builder/shortcode-builder.php:161
443
  msgid "Post Types"
444
  msgstr ""
445
 
446
- #: ../admin/shortcode-builder/shortcode-builder.php:164
447
  msgid "Select Post Types to query."
448
  msgstr ""
449
 
450
- #: ../admin/shortcode-builder/shortcode-builder.php:185
451
  msgid "Post Format"
452
  msgstr ""
453
 
454
- #: ../admin/shortcode-builder/shortcode-builder.php:188
455
  msgid ""
456
  "Select a <a href=\"http://codex.wordpress.org/Post_Formats\" target=\"_blank"
457
  "\">Post Format</a> to query."
458
  msgstr ""
459
 
460
- #: ../admin/shortcode-builder/shortcode-builder.php:191
461
  msgid "Select Post Format"
462
  msgstr ""
463
 
464
- #: ../admin/shortcode-builder/shortcode-builder.php:192
465
  msgid "Standard"
466
  msgstr ""
467
 
468
- #: ../admin/shortcode-builder/shortcode-builder.php:212
469
  msgid "Category"
470
  msgstr ""
471
 
472
- #: ../admin/shortcode-builder/shortcode-builder.php:216
473
  msgid ""
474
  "A comma separated list of categories to include by slug. (design, research "
475
  "etc...)"
476
  msgstr ""
477
 
478
- #: ../admin/shortcode-builder/shortcode-builder.php:218
479
  msgid "view example"
480
  msgstr ""
481
 
482
- #: ../admin/shortcode-builder/shortcode-builder.php:240
483
- #: ../admin/shortcode-builder/shortcode-builder.php:297
484
  msgid "Exclude"
485
  msgstr ""
486
 
487
- #: ../admin/shortcode-builder/shortcode-builder.php:241
488
  msgid ""
489
  "A comma separated list of categories to exclude by ID. (3, 12, 35 etc..)"
490
  msgstr ""
491
 
492
- #: ../admin/shortcode-builder/shortcode-builder.php:272
493
  msgid "Tag"
494
  msgstr ""
495
 
496
- #: ../admin/shortcode-builder/shortcode-builder.php:275
497
  msgid "Include"
498
  msgstr ""
499
 
500
- #: ../admin/shortcode-builder/shortcode-builder.php:276
501
  msgid ""
502
  "A comma separated list of tags to include by slug. (toronto, canada etc...)"
503
  msgstr ""
504
 
505
- #: ../admin/shortcode-builder/shortcode-builder.php:298
506
  msgid "A comma separated list of tags to exclude by ID. (30, 12, 99 etc..)"
507
  msgstr ""
508
 
509
- #: ../admin/shortcode-builder/shortcode-builder.php:330
510
  msgid "Taxonomy"
511
  msgstr ""
512
 
513
- #: ../admin/shortcode-builder/shortcode-builder.php:333
514
  msgid "Select your custom taxonomy then select the terms and operator."
515
  msgstr ""
516
 
517
- #: ../admin/shortcode-builder/shortcode-builder.php:340
518
  msgid "Select Taxonomy"
519
  msgstr ""
520
 
521
- #: ../admin/shortcode-builder/shortcode-builder.php:349
522
  msgid "Taxonomy Terms:"
523
  msgstr ""
524
 
525
- #: ../admin/shortcode-builder/shortcode-builder.php:354
526
  msgid "Taxonomy Operator:"
527
  msgstr ""
528
 
529
- #: ../admin/shortcode-builder/shortcode-builder.php:370
530
  msgid "Date"
531
  msgstr ""
532
 
533
- #: ../admin/shortcode-builder/shortcode-builder.php:373
534
  msgid ""
535
  "Enter a year, month(number) and day to query by date archive.<br/>&raquo; <a "
536
  "href=\"admin.php?page=ajax-load-more-examples#example-date\">view example</a>"
537
  msgstr ""
538
 
539
- #: ../admin/shortcode-builder/shortcode-builder.php:379
540
  msgid "Year:"
541
  msgstr ""
542
 
543
- #: ../admin/shortcode-builder/shortcode-builder.php:383
544
  msgid "Month:"
545
  msgstr ""
546
 
547
- #: ../admin/shortcode-builder/shortcode-builder.php:387
548
  msgid "Day:"
549
  msgstr ""
550
 
551
- #: ../admin/shortcode-builder/shortcode-builder.php:398
552
- msgid "Custom Fields (Meta)"
553
  msgstr ""
554
 
555
- #: ../admin/shortcode-builder/shortcode-builder.php:401
556
  msgid ""
557
- "Query by <a href=\"http://codex.wordpress.org/Class_Reference/WP_Meta_Query"
558
- "\" target=\"_blank\">custom fields</a>. Enter your key(name) and value, "
559
- "then select your operator."
560
- msgstr ""
561
-
562
- #: ../admin/shortcode-builder/shortcode-builder.php:406
563
- msgid "Key (Name):"
564
- msgstr ""
565
-
566
- #: ../admin/shortcode-builder/shortcode-builder.php:407
567
- msgid "Enter custom field key(name)"
568
- msgstr ""
569
-
570
- #: ../admin/shortcode-builder/shortcode-builder.php:412
571
- msgid "Value:"
572
  msgstr ""
573
 
574
- #: ../admin/shortcode-builder/shortcode-builder.php:413
575
- msgid "Enter custom field value"
576
  msgstr ""
577
 
578
- #: ../admin/shortcode-builder/shortcode-builder.php:417
579
- msgid "Operator:"
580
  msgstr ""
581
 
582
- #: ../admin/shortcode-builder/shortcode-builder.php:449
583
  msgid "Author"
584
  msgstr ""
585
 
586
- #: ../admin/shortcode-builder/shortcode-builder.php:452
587
  msgid "Select an Author to query(by ID)."
588
  msgstr ""
589
 
590
- #: ../admin/shortcode-builder/shortcode-builder.php:457
591
  msgid "Select Author"
592
  msgstr ""
593
 
594
- #: ../admin/shortcode-builder/shortcode-builder.php:473
595
  msgid "Search Term"
596
  msgstr ""
597
 
598
- #: ../admin/shortcode-builder/shortcode-builder.php:476
599
  msgid "Enter a search term to query."
600
  msgstr ""
601
 
602
- #: ../admin/shortcode-builder/shortcode-builder.php:480
603
  msgid "Enter search term"
604
  msgstr ""
605
 
606
- #: ../admin/shortcode-builder/shortcode-builder.php:488
607
  msgid "Custom Arguments"
608
  msgstr ""
609
 
610
- #: ../admin/shortcode-builder/shortcode-builder.php:491
611
  msgid ""
612
- "A comma separated list of custom value:pair arguments.<br/><br/>e.g. "
613
- "tag_slug__and:array(design), event_display:upcoming"
614
  msgstr ""
615
 
616
- #: ../admin/shortcode-builder/shortcode-builder.php:495
617
  msgid "event_display:upcoming"
618
  msgstr ""
619
 
620
- #: ../admin/shortcode-builder/shortcode-builder.php:503
621
  msgid "Post Parameters"
622
  msgstr ""
623
 
624
- #: ../admin/shortcode-builder/shortcode-builder.php:507
625
  msgid "A comma separated list of post ID's to query."
626
  msgstr ""
627
 
628
- #: ../admin/shortcode-builder/shortcode-builder.php:511
629
  msgid "225, 340, 818, etc..."
630
  msgstr ""
631
 
632
- #: ../admin/shortcode-builder/shortcode-builder.php:518
633
  msgid "A comma separated list of post ID's to exclude from query."
634
  msgstr ""
635
 
636
- #: ../admin/shortcode-builder/shortcode-builder.php:530
637
  msgid "Post Status"
638
  msgstr ""
639
 
640
- #: ../admin/shortcode-builder/shortcode-builder.php:533
641
  msgid "Select status of the post."
642
  msgstr ""
643
 
644
- #: ../admin/shortcode-builder/shortcode-builder.php:552
645
  msgid "Ordering"
646
  msgstr ""
647
 
648
- #: ../admin/shortcode-builder/shortcode-builder.php:555
649
  msgid "Sort posts by Order and Orderby parameters."
650
  msgstr ""
651
 
652
- #: ../admin/shortcode-builder/shortcode-builder.php:583
653
  msgid "Offset"
654
  msgstr ""
655
 
656
- #: ../admin/shortcode-builder/shortcode-builder.php:586
657
  msgid "Offset the initial WordPress query by <em>'n'</em> number of posts"
658
  msgstr ""
659
 
660
- #: ../admin/shortcode-builder/shortcode-builder.php:598
661
  msgid "Posts Per Page"
662
  msgstr ""
663
 
664
- #: ../admin/shortcode-builder/shortcode-builder.php:601
665
  msgid "Select the number of posts to load with each request."
666
  msgstr ""
667
 
668
- #: ../admin/shortcode-builder/shortcode-builder.php:613
669
  msgid "Pause"
670
  msgstr ""
671
 
672
- #: ../admin/shortcode-builder/shortcode-builder.php:616
673
  msgid ""
674
  "Do <u>NOT</u> load any posts until user the clicks <em>Load More</em> button."
675
  msgstr ""
676
 
677
- #: ../admin/shortcode-builder/shortcode-builder.php:637
678
  msgid "Scrolling"
679
  msgstr ""
680
 
681
- #: ../admin/shortcode-builder/shortcode-builder.php:641
682
  msgid "Load more posts as the user scrolls the page."
683
  msgstr ""
684
 
685
- #: ../admin/shortcode-builder/shortcode-builder.php:663
686
  msgid ""
687
  "The distance from the bottom of the screen to trigger the loading of posts "
688
  "while scrolling. (Default = 150)"
689
  msgstr ""
690
 
691
- #: ../admin/shortcode-builder/shortcode-builder.php:676
692
  msgid "Maximum number of pages to load while scrolling. (0 = unlimited)"
693
  msgstr ""
694
 
695
- #: ../admin/shortcode-builder/shortcode-builder.php:689
696
  msgid "Transition"
697
  msgstr ""
698
 
699
- #: ../admin/shortcode-builder/shortcode-builder.php:692
700
  msgid "Select a loading transition."
701
  msgstr ""
702
 
703
- #: ../admin/shortcode-builder/shortcode-builder.php:699
704
  msgid "Slide"
705
  msgstr ""
706
 
707
- #: ../admin/shortcode-builder/shortcode-builder.php:703
708
  msgid "Fade"
709
  msgstr ""
710
 
711
- #: ../admin/shortcode-builder/shortcode-builder.php:707
712
  msgid "None"
713
  msgstr ""
714
 
715
- #: ../admin/shortcode-builder/shortcode-builder.php:717
716
  msgid "Destroy After"
717
  msgstr ""
718
 
719
- #: ../admin/shortcode-builder/shortcode-builder.php:720
720
  msgid ""
721
  "Remove ajax load more functionality after '<em>n</em>' number of pages have "
722
  "been loaded."
723
  msgstr ""
724
 
725
- #: ../admin/shortcode-builder/shortcode-builder.php:732
726
  msgid "Button Label"
727
  msgstr ""
728
 
729
- #: ../admin/shortcode-builder/shortcode-builder.php:735
730
  msgid "Customize the <em>Load More</em> button label."
731
  msgstr ""
732
 
733
- #: ../admin/shortcode-builder/shortcode-builder.php:739
734
- #: ../ajax-load-more.php:207
735
  msgid "Older Posts"
736
  msgstr ""
737
 
 
 
 
 
 
 
738
  #: ../admin/views/add-ons.php:4
739
  msgid "Add-ons"
740
  msgstr ""
@@ -756,52 +729,62 @@ msgid ""
756
  "delivers those static files to your visitors."
757
  msgstr ""
758
 
759
- #: ../admin/views/add-ons.php:42
760
  msgid "Custom Repeaters"
761
  msgstr ""
762
 
763
- #: ../admin/views/add-ons.php:43
764
  msgid "Extend Ajax Load More with unlimited repeater templates."
765
  msgstr ""
766
 
767
- #: ../admin/views/add-ons.php:44
768
  msgid ""
769
  "Create, delete and modify <a href=\"?page=ajax-load-more-repeaters"
770
  "\">repeater templates</a> as you need them with absolutely zero restrictions."
771
  msgstr ""
772
 
773
- #: ../admin/views/add-ons.php:68
 
 
 
 
 
 
 
 
 
 
774
  msgid ""
775
  "Easily preload an initial set of posts before completing any Ajax requests "
776
  "to the server."
777
  msgstr ""
778
 
779
- #: ../admin/views/add-ons.php:69
780
  msgid ""
781
  "The Preloaded add-on will display content to your site visitors faster and "
782
  "allow you cache the initial result set which can greatly reduce stress on "
783
  "your server."
784
  msgstr ""
785
 
786
- #: ../admin/views/add-ons.php:92
787
  msgid "Search Engine Optimization"
788
  msgstr ""
789
 
790
- #: ../admin/views/add-ons.php:93
791
  msgid "Generate unique paging URLs with every Ajax Load More query."
792
  msgstr ""
793
 
794
- #: ../admin/views/add-ons.php:94
795
  msgid ""
796
  "The SEO add-on will optimize your ajax loaded content for search engines and "
797
  "site visitors by generating unique paging URLs with every query.</p>"
798
  msgstr ""
799
 
800
- #: ../admin/views/add-ons.php:113
801
  msgid "Add-on Updates"
802
  msgstr ""
803
 
804
- #: ../admin/views/add-ons.php:114
805
  msgid ""
806
  "All add-ons are installed as stand alone plugins and will receive plugin "
807
  "update notifications directly within the <a href=\"plugins.php\">WordPress "
@@ -880,6 +863,104 @@ msgid ""
880
  "open in an overlay window."
881
  msgstr ""
882
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
883
  #: ../admin/views/repeater-templates.php:4
884
  msgid "Repeater Templates"
885
  msgstr ""
@@ -988,11 +1069,11 @@ msgstr ""
988
  msgid "Clear all Shortcode Builder settings"
989
  msgstr ""
990
 
991
- #: ../ajax-load-more.php:110
992
  msgid "Settings"
993
  msgstr ""
994
 
995
- #: ../ajax-load-more.php:111
996
  msgid "Shortcode Builder"
997
  msgstr ""
998
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ajax Load More\n"
4
+ "POT-Creation-Date: 2015-07-05 08:06-0500\n"
5
+ "PO-Revision-Date: 2015-07-05 08:06-0500\n"
6
  "Last-Translator: Darren Cooney <darren.cooney@gmail.com>\n"
7
  "Language-Team: \n"
8
  "Language: en_CA\n"
27
  "php)."
28
  msgstr ""
29
 
30
+ #: ../admin/admin.php:423
31
  msgid ""
32
  "[Ajax Load More] Error opening repeater template - Please check your file "
33
  "path and ensure your server is configured to allow Ajax Load More to read "
34
  "and write files within the /ajax-load-more/core/repeater directory"
35
  msgstr ""
36
 
37
+ #: ../admin/admin.php:427
38
  msgid ""
39
  "[Ajax Load More]Error saving repeater template - Please check your file path "
40
  "and ensure your server is configured to allow Ajax Load More to read and "
41
  "write files within the /ajax-load-more/core/repeater directory."
42
  msgstr ""
43
 
44
+ #: ../admin/admin.php:460
45
  msgid "Error Writing File"
46
  msgstr ""
47
 
48
+ #: ../admin/admin.php:568
49
  msgid "Container Type"
50
  msgstr ""
51
 
52
+ #: ../admin/admin.php:576 ../admin/shortcode-builder/shortcode-builder.php:816
53
  msgid "Container Classes"
54
  msgstr ""
55
 
56
+ #: ../admin/admin.php:584
57
  msgid "Editor Button"
58
  msgstr ""
59
 
60
+ #: ../admin/admin.php:592
61
  msgid "Dynamic Content"
62
  msgstr ""
63
 
64
+ #: ../admin/admin.php:600
65
  msgid "Ajax Security"
66
  msgstr ""
67
 
68
+ #: ../admin/admin.php:608
69
  msgid "Top of Page"
70
  msgstr ""
71
 
72
+ #: ../admin/admin.php:616
73
  msgid "Disable CSS"
74
  msgstr ""
75
 
76
+ #: ../admin/admin.php:624
77
  msgid "Button Color"
78
  msgstr ""
79
 
80
+ #: ../admin/admin.php:632
81
  msgid "Button Classes"
82
  msgstr ""
83
 
84
+ #: ../admin/admin.php:679
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  msgid "Customize your version of Ajax Load More by updating the fields below."
86
  msgstr ""
87
 
88
+ #: ../admin/admin.php:710
89
  msgid "I want to use my own CSS styles."
90
  msgstr ""
91
 
92
+ #: ../admin/admin.php:710
93
  msgid "View Ajax Load More CSS"
94
  msgstr ""
95
 
96
+ #: ../admin/admin.php:730
97
  msgid "Hide shortcode button in WYSIWYG editor."
98
  msgstr ""
99
 
100
+ #: ../admin/admin.php:751
101
  msgid ""
102
  "Disable dynamic population of categories, tags and authors in the Shortcode "
103
  "Builder.<span style=\"display:block\">Recommended if you have an "
104
  "extraordinary number of categories, tags and/or authors."
105
  msgstr ""
106
 
107
+ #: ../admin/admin.php:767
108
+ msgid ""
109
+ "Add classes to Ajax Load More container - these classes are applied globally "
110
+ "and will appear with every instance of Ajax Load More.<span style=\"display:"
111
+ "block\">You can also add classes to the ALM container when building a "
112
+ "shortcode.</span>"
113
  msgstr ""
114
 
115
+ #: ../admin/admin.php:789 ../admin/admin.php:792
116
  msgid "Ajax Posts Here"
117
  msgstr ""
118
 
119
+ #: ../admin/admin.php:836
120
  msgid "Choose your <strong>Load More</strong> button color"
121
  msgstr ""
122
 
123
+ #: ../admin/admin.php:847
124
  msgid "Preview"
125
  msgstr ""
126
 
127
+ #: ../admin/admin.php:866
128
  msgid "Add classes to your <strong>Load More</strong> button"
129
  msgstr ""
130
 
131
+ #: ../admin/admin.php:919
132
  msgid ""
133
  "On initial page load, move the user's browser window to the top of the "
134
  "screen.<span style=\"display:block\">This <u>may</u> help prevent the "
135
  "loading of unnecessary posts.</span>"
136
  msgstr ""
137
 
138
+ #: ../admin/admin.php:940
139
  msgid ""
140
  "Enable <a href=\"https://codex.wordpress.org/WordPress_Nonces\" target="
141
  "\"_blank\">WP nonce</a> verification to help protect URLs against certain "
142
  "types of misuse, malicious or otherwise on each Ajax Load More query."
143
  msgstr ""
144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  #: ../admin/editor/editor-build.php:40
146
  msgid "Jump to Option"
147
  msgstr ""
283
  "Directory access may not be granted."
284
  msgstr ""
285
 
286
+ #: ../admin/shortcode-builder/includes/meta-query-options.php:4
287
+ msgid "Key (Name):"
288
+ msgstr ""
289
+
290
+ #: ../admin/shortcode-builder/includes/meta-query-options.php:5
291
+ msgid "Enter custom field key(name)"
292
+ msgstr ""
293
+
294
+ #: ../admin/shortcode-builder/includes/meta-query-options.php:9
295
+ msgid "Value:"
296
+ msgstr ""
297
+
298
+ #: ../admin/shortcode-builder/includes/meta-query-options.php:10
299
+ msgid "Enter custom field value"
300
+ msgstr ""
301
+
302
+ #: ../admin/shortcode-builder/includes/meta-query-options.php:14
303
+ msgid "Operator:"
304
+ msgstr ""
305
+
306
  #: ../admin/shortcode-builder/shortcode-builder.php:1
307
  #: ../admin/views/examples.php:9 ../admin/views/repeater-templates.php:13
308
  msgid "Collapse All"
314
  msgstr ""
315
 
316
  #: ../admin/shortcode-builder/shortcode-builder.php:16
317
+ #: ../admin/views/add-ons.php:17 ../admin/views/licenses.php:35
318
  msgid "Cache"
319
  msgstr ""
320
 
321
+ #: ../admin/shortcode-builder/shortcode-builder.php:19
322
  msgid "Turn on content caching for this Ajax Load More query."
323
  msgstr ""
324
 
325
+ #: ../admin/shortcode-builder/shortcode-builder.php:26
326
+ #: ../admin/shortcode-builder/shortcode-builder.php:68
327
+ #: ../admin/shortcode-builder/shortcode-builder.php:91
328
+ #: ../admin/shortcode-builder/shortcode-builder.php:145
329
+ #: ../admin/shortcode-builder/shortcode-builder.php:186
330
+ #: ../admin/shortcode-builder/shortcode-builder.php:692
331
+ #: ../admin/shortcode-builder/shortcode-builder.php:717
332
  msgid "True"
333
  msgstr ""
334
 
335
+ #: ../admin/shortcode-builder/shortcode-builder.php:30
336
+ #: ../admin/shortcode-builder/shortcode-builder.php:72
337
+ #: ../admin/shortcode-builder/shortcode-builder.php:95
338
+ #: ../admin/shortcode-builder/shortcode-builder.php:149
339
+ #: ../admin/shortcode-builder/shortcode-builder.php:190
340
+ #: ../admin/shortcode-builder/shortcode-builder.php:696
341
+ #: ../admin/shortcode-builder/shortcode-builder.php:721
342
  msgid "False"
343
  msgstr ""
344
 
345
+ #: ../admin/shortcode-builder/shortcode-builder.php:41
346
  msgid ""
347
  "You <u>must</u> generate a unique ID for this cached query - this unique ID "
348
  "will be used as a content identifier."
349
  msgstr ""
350
 
351
+ #: ../admin/shortcode-builder/shortcode-builder.php:47
352
  msgid "Generate New ID"
353
  msgstr ""
354
 
355
+ #: ../admin/shortcode-builder/shortcode-builder.php:58
356
+ #: ../admin/views/add-ons.php:69 ../admin/views/licenses.php:145
357
+ msgid "Paging"
358
+ msgstr ""
359
+
360
+ #: ../admin/shortcode-builder/shortcode-builder.php:61
361
+ msgid "Replace infinite scrolling with a paged ajax navigation system."
362
+ msgstr ""
363
+
364
+ #: ../admin/shortcode-builder/shortcode-builder.php:83
365
+ msgid "Paging Controls"
366
+ msgstr ""
367
+
368
+ #: ../admin/shortcode-builder/shortcode-builder.php:84
369
+ msgid "Show (&laquo;)previous and next(&raquo;) buttons."
370
+ msgstr ""
371
+
372
+ #: ../admin/shortcode-builder/shortcode-builder.php:104
373
+ msgid "Paging Navigation Classes"
374
+ msgstr ""
375
+
376
+ #: ../admin/shortcode-builder/shortcode-builder.php:105
377
+ msgid "Add custom CSS classes to the paging navigation menu."
378
+ msgstr ""
379
+
380
+ #: ../admin/shortcode-builder/shortcode-builder.php:116
381
+ msgid "Show at Most"
382
+ msgstr ""
383
+
384
+ #: ../admin/shortcode-builder/shortcode-builder.php:117
385
+ msgid ""
386
+ "The maximum amount of page menu items to show at a time. <br/.>0 = no maximum"
387
+ msgstr ""
388
+
389
+ #: ../admin/shortcode-builder/shortcode-builder.php:135
390
+ #: ../admin/views/add-ons.php:95 ../admin/views/licenses.php:199
391
  msgid "Preloaded"
392
  msgstr ""
393
 
394
+ #: ../admin/shortcode-builder/shortcode-builder.php:138
395
  msgid "Preload posts prior to making Ajax requests."
396
  msgstr ""
397
 
398
+ #: ../admin/shortcode-builder/shortcode-builder.php:160
399
  msgid "Enter the number of posts to preload."
400
  msgstr ""
401
 
402
+ #: ../admin/shortcode-builder/shortcode-builder.php:176
403
  msgid "SEO (Search Engine Optimization)"
404
  msgstr ""
405
 
406
+ #: ../admin/shortcode-builder/shortcode-builder.php:179
407
  msgid ""
408
  "Enable address bar URL rewrites as users page through ajax loaded content."
409
  msgstr ""
410
 
411
+ #: ../admin/shortcode-builder/shortcode-builder.php:203
412
  msgid "Template"
413
  msgstr ""
414
 
415
+ #: ../admin/shortcode-builder/shortcode-builder.php:206
416
  msgid ""
417
  "Select which <a href=\"admin.php?page=ajax-load-more-repeaters\" target="
418
  "\"_parent\">repeater template</a> you would like to use."
419
  msgstr ""
420
 
421
+ #: ../admin/shortcode-builder/shortcode-builder.php:237
422
  msgid "Post Types"
423
  msgstr ""
424
 
425
+ #: ../admin/shortcode-builder/shortcode-builder.php:240
426
  msgid "Select Post Types to query."
427
  msgstr ""
428
 
429
+ #: ../admin/shortcode-builder/shortcode-builder.php:261
430
  msgid "Post Format"
431
  msgstr ""
432
 
433
+ #: ../admin/shortcode-builder/shortcode-builder.php:264
434
  msgid ""
435
  "Select a <a href=\"http://codex.wordpress.org/Post_Formats\" target=\"_blank"
436
  "\">Post Format</a> to query."
437
  msgstr ""
438
 
439
+ #: ../admin/shortcode-builder/shortcode-builder.php:267
440
  msgid "Select Post Format"
441
  msgstr ""
442
 
443
+ #: ../admin/shortcode-builder/shortcode-builder.php:268
444
  msgid "Standard"
445
  msgstr ""
446
 
447
+ #: ../admin/shortcode-builder/shortcode-builder.php:288
448
  msgid "Category"
449
  msgstr ""
450
 
451
+ #: ../admin/shortcode-builder/shortcode-builder.php:292
452
  msgid ""
453
  "A comma separated list of categories to include by slug. (design, research "
454
  "etc...)"
455
  msgstr ""
456
 
457
+ #: ../admin/shortcode-builder/shortcode-builder.php:294
458
  msgid "view example"
459
  msgstr ""
460
 
461
+ #: ../admin/shortcode-builder/shortcode-builder.php:316
462
+ #: ../admin/shortcode-builder/shortcode-builder.php:373
463
  msgid "Exclude"
464
  msgstr ""
465
 
466
+ #: ../admin/shortcode-builder/shortcode-builder.php:317
467
  msgid ""
468
  "A comma separated list of categories to exclude by ID. (3, 12, 35 etc..)"
469
  msgstr ""
470
 
471
+ #: ../admin/shortcode-builder/shortcode-builder.php:348
472
  msgid "Tag"
473
  msgstr ""
474
 
475
+ #: ../admin/shortcode-builder/shortcode-builder.php:351
476
  msgid "Include"
477
  msgstr ""
478
 
479
+ #: ../admin/shortcode-builder/shortcode-builder.php:352
480
  msgid ""
481
  "A comma separated list of tags to include by slug. (toronto, canada etc...)"
482
  msgstr ""
483
 
484
+ #: ../admin/shortcode-builder/shortcode-builder.php:374
485
  msgid "A comma separated list of tags to exclude by ID. (30, 12, 99 etc..)"
486
  msgstr ""
487
 
488
+ #: ../admin/shortcode-builder/shortcode-builder.php:406
489
  msgid "Taxonomy"
490
  msgstr ""
491
 
492
+ #: ../admin/shortcode-builder/shortcode-builder.php:409
493
  msgid "Select your custom taxonomy then select the terms and operator."
494
  msgstr ""
495
 
496
+ #: ../admin/shortcode-builder/shortcode-builder.php:416
497
  msgid "Select Taxonomy"
498
  msgstr ""
499
 
500
+ #: ../admin/shortcode-builder/shortcode-builder.php:425
501
  msgid "Taxonomy Terms:"
502
  msgstr ""
503
 
504
+ #: ../admin/shortcode-builder/shortcode-builder.php:430
505
  msgid "Taxonomy Operator:"
506
  msgstr ""
507
 
508
+ #: ../admin/shortcode-builder/shortcode-builder.php:446
509
  msgid "Date"
510
  msgstr ""
511
 
512
+ #: ../admin/shortcode-builder/shortcode-builder.php:449
513
  msgid ""
514
  "Enter a year, month(number) and day to query by date archive.<br/>&raquo; <a "
515
  "href=\"admin.php?page=ajax-load-more-examples#example-date\">view example</a>"
516
  msgstr ""
517
 
518
+ #: ../admin/shortcode-builder/shortcode-builder.php:455
519
  msgid "Year:"
520
  msgstr ""
521
 
522
+ #: ../admin/shortcode-builder/shortcode-builder.php:459
523
  msgid "Month:"
524
  msgstr ""
525
 
526
+ #: ../admin/shortcode-builder/shortcode-builder.php:463
527
  msgid "Day:"
528
  msgstr ""
529
 
530
+ #: ../admin/shortcode-builder/shortcode-builder.php:474
531
+ msgid "Custom Fields (Meta_Query)"
532
  msgstr ""
533
 
534
+ #: ../admin/shortcode-builder/shortcode-builder.php:477
535
  msgid ""
536
+ "Query for <a href=\"http://codex.wordpress.org/Class_Reference/WP_Meta_Query"
537
+ "\" target=\"_blank\">custom field</a> by entering a custom field key, value "
538
+ "and operator."
 
 
 
 
 
 
 
 
 
 
 
 
539
  msgstr ""
540
 
541
+ #: ../admin/shortcode-builder/shortcode-builder.php:487
542
+ msgid "Relation:"
543
  msgstr ""
544
 
545
+ #: ../admin/shortcode-builder/shortcode-builder.php:500
546
+ msgid "Add Another"
547
  msgstr ""
548
 
549
+ #: ../admin/shortcode-builder/shortcode-builder.php:516
550
  msgid "Author"
551
  msgstr ""
552
 
553
+ #: ../admin/shortcode-builder/shortcode-builder.php:519
554
  msgid "Select an Author to query(by ID)."
555
  msgstr ""
556
 
557
+ #: ../admin/shortcode-builder/shortcode-builder.php:524
558
  msgid "Select Author"
559
  msgstr ""
560
 
561
+ #: ../admin/shortcode-builder/shortcode-builder.php:540
562
  msgid "Search Term"
563
  msgstr ""
564
 
565
+ #: ../admin/shortcode-builder/shortcode-builder.php:543
566
  msgid "Enter a search term to query."
567
  msgstr ""
568
 
569
+ #: ../admin/shortcode-builder/shortcode-builder.php:547
570
  msgid "Enter search term"
571
  msgstr ""
572
 
573
+ #: ../admin/shortcode-builder/shortcode-builder.php:555
574
  msgid "Custom Arguments"
575
  msgstr ""
576
 
577
+ #: ../admin/shortcode-builder/shortcode-builder.php:558
578
  msgid ""
579
+ "A semicolon separated list of custom value:pair arguments.<br/><br/>e.g. "
580
+ "tag_slug__and:design,development; event_display:upcoming. Default"
581
  msgstr ""
582
 
583
+ #: ../admin/shortcode-builder/shortcode-builder.php:562
584
  msgid "event_display:upcoming"
585
  msgstr ""
586
 
587
+ #: ../admin/shortcode-builder/shortcode-builder.php:571
588
  msgid "Post Parameters"
589
  msgstr ""
590
 
591
+ #: ../admin/shortcode-builder/shortcode-builder.php:575
592
  msgid "A comma separated list of post ID's to query."
593
  msgstr ""
594
 
595
+ #: ../admin/shortcode-builder/shortcode-builder.php:579
596
  msgid "225, 340, 818, etc..."
597
  msgstr ""
598
 
599
+ #: ../admin/shortcode-builder/shortcode-builder.php:586
600
  msgid "A comma separated list of post ID's to exclude from query."
601
  msgstr ""
602
 
603
+ #: ../admin/shortcode-builder/shortcode-builder.php:598
604
  msgid "Post Status"
605
  msgstr ""
606
 
607
+ #: ../admin/shortcode-builder/shortcode-builder.php:601
608
  msgid "Select status of the post."
609
  msgstr ""
610
 
611
+ #: ../admin/shortcode-builder/shortcode-builder.php:620
612
  msgid "Ordering"
613
  msgstr ""
614
 
615
+ #: ../admin/shortcode-builder/shortcode-builder.php:623
616
  msgid "Sort posts by Order and Orderby parameters."
617
  msgstr ""
618
 
619
+ #: ../admin/shortcode-builder/shortcode-builder.php:652
620
  msgid "Offset"
621
  msgstr ""
622
 
623
+ #: ../admin/shortcode-builder/shortcode-builder.php:655
624
  msgid "Offset the initial WordPress query by <em>'n'</em> number of posts"
625
  msgstr ""
626
 
627
+ #: ../admin/shortcode-builder/shortcode-builder.php:667
628
  msgid "Posts Per Page"
629
  msgstr ""
630
 
631
+ #: ../admin/shortcode-builder/shortcode-builder.php:670
632
  msgid "Select the number of posts to load with each request."
633
  msgstr ""
634
 
635
+ #: ../admin/shortcode-builder/shortcode-builder.php:682
636
  msgid "Pause"
637
  msgstr ""
638
 
639
+ #: ../admin/shortcode-builder/shortcode-builder.php:685
640
  msgid ""
641
  "Do <u>NOT</u> load any posts until user the clicks <em>Load More</em> button."
642
  msgstr ""
643
 
644
+ #: ../admin/shortcode-builder/shortcode-builder.php:706
645
  msgid "Scrolling"
646
  msgstr ""
647
 
648
+ #: ../admin/shortcode-builder/shortcode-builder.php:710
649
  msgid "Load more posts as the user scrolls the page."
650
  msgstr ""
651
 
652
+ #: ../admin/shortcode-builder/shortcode-builder.php:732
653
  msgid ""
654
  "The distance from the bottom of the screen to trigger the loading of posts "
655
  "while scrolling. (Default = 150)"
656
  msgstr ""
657
 
658
+ #: ../admin/shortcode-builder/shortcode-builder.php:745
659
  msgid "Maximum number of pages to load while scrolling. (0 = unlimited)"
660
  msgstr ""
661
 
662
+ #: ../admin/shortcode-builder/shortcode-builder.php:758
663
  msgid "Transition"
664
  msgstr ""
665
 
666
+ #: ../admin/shortcode-builder/shortcode-builder.php:761
667
  msgid "Select a loading transition."
668
  msgstr ""
669
 
670
+ #: ../admin/shortcode-builder/shortcode-builder.php:768
671
  msgid "Slide"
672
  msgstr ""
673
 
674
+ #: ../admin/shortcode-builder/shortcode-builder.php:772
675
  msgid "Fade"
676
  msgstr ""
677
 
678
+ #: ../admin/shortcode-builder/shortcode-builder.php:776
679
  msgid "None"
680
  msgstr ""
681
 
682
+ #: ../admin/shortcode-builder/shortcode-builder.php:786
683
  msgid "Destroy After"
684
  msgstr ""
685
 
686
+ #: ../admin/shortcode-builder/shortcode-builder.php:789
687
  msgid ""
688
  "Remove ajax load more functionality after '<em>n</em>' number of pages have "
689
  "been loaded."
690
  msgstr ""
691
 
692
+ #: ../admin/shortcode-builder/shortcode-builder.php:801
693
  msgid "Button Label"
694
  msgstr ""
695
 
696
+ #: ../admin/shortcode-builder/shortcode-builder.php:804
697
  msgid "Customize the <em>Load More</em> button label."
698
  msgstr ""
699
 
700
+ #: ../admin/shortcode-builder/shortcode-builder.php:808
701
+ #: ../ajax-load-more.php:219
702
  msgid "Older Posts"
703
  msgstr ""
704
 
705
+ #: ../admin/shortcode-builder/shortcode-builder.php:819
706
+ msgid ""
707
+ "Add custom CSS classes to the Ajax Load More container. <br/><br/> e.g. "
708
+ "portfolio-listing large-12 etc"
709
+ msgstr ""
710
+
711
  #: ../admin/views/add-ons.php:4
712
  msgid "Add-ons"
713
  msgstr ""
729
  "delivers those static files to your visitors."
730
  msgstr ""
731
 
732
+ #: ../admin/views/add-ons.php:43
733
  msgid "Custom Repeaters"
734
  msgstr ""
735
 
736
+ #: ../admin/views/add-ons.php:44
737
  msgid "Extend Ajax Load More with unlimited repeater templates."
738
  msgstr ""
739
 
740
+ #: ../admin/views/add-ons.php:45
741
  msgid ""
742
  "Create, delete and modify <a href=\"?page=ajax-load-more-repeaters"
743
  "\">repeater templates</a> as you need them with absolutely zero restrictions."
744
  msgstr ""
745
 
746
+ #: ../admin/views/add-ons.php:70
747
+ msgid "Extend Ajax Load More with a numbered paging navigation."
748
+ msgstr ""
749
+
750
+ #: ../admin/views/add-ons.php:71
751
+ msgid ""
752
+ "The Paging add-on will transform the Ajax Load More lazy load/infinite "
753
+ "scroll functionality into a robust ajax powered navigation system."
754
+ msgstr ""
755
+
756
+ #: ../admin/views/add-ons.php:96
757
  msgid ""
758
  "Easily preload an initial set of posts before completing any Ajax requests "
759
  "to the server."
760
  msgstr ""
761
 
762
+ #: ../admin/views/add-ons.php:97
763
  msgid ""
764
  "The Preloaded add-on will display content to your site visitors faster and "
765
  "allow you cache the initial result set which can greatly reduce stress on "
766
  "your server."
767
  msgstr ""
768
 
769
+ #: ../admin/views/add-ons.php:121 ../admin/views/licenses.php:254
770
  msgid "Search Engine Optimization"
771
  msgstr ""
772
 
773
+ #: ../admin/views/add-ons.php:122
774
  msgid "Generate unique paging URLs with every Ajax Load More query."
775
  msgstr ""
776
 
777
+ #: ../admin/views/add-ons.php:123
778
  msgid ""
779
  "The SEO add-on will optimize your ajax loaded content for search engines and "
780
  "site visitors by generating unique paging URLs with every query.</p>"
781
  msgstr ""
782
 
783
+ #: ../admin/views/add-ons.php:142
784
  msgid "Add-on Updates"
785
  msgstr ""
786
 
787
+ #: ../admin/views/add-ons.php:143
788
  msgid ""
789
  "All add-ons are installed as stand alone plugins and will receive plugin "
790
  "update notifications directly within the <a href=\"plugins.php\">WordPress "
863
  "open in an overlay window."
864
  msgstr ""
865
 
866
+ #: ../admin/views/licenses.php:4
867
+ msgid "Licenses"
868
+ msgstr ""
869
+
870
+ #: ../admin/views/licenses.php:5
871
+ msgid ""
872
+ "Enter your license keys to enable automatic updates for <a href=\"admin.php?"
873
+ "page=ajax-load-more-add-ons\">ALM Add-ons</a>."
874
+ msgstr ""
875
+
876
+ #: ../admin/views/licenses.php:9
877
+ msgid "License Keys"
878
+ msgstr ""
879
+
880
+ #: ../admin/views/licenses.php:11
881
+ msgid ""
882
+ "Manage your Ajax Load More license key's below - enter a key for each of "
883
+ "your add-ons to receive plugin update notifications directly within the <a "
884
+ "href=\"plugins.php\">WP Plugins dashboard</a>."
885
+ msgstr ""
886
+
887
+ #: ../admin/views/licenses.php:42 ../admin/views/licenses.php:44
888
+ #: ../admin/views/licenses.php:97 ../admin/views/licenses.php:99
889
+ #: ../admin/views/licenses.php:152 ../admin/views/licenses.php:154
890
+ #: ../admin/views/licenses.php:206 ../admin/views/licenses.php:208
891
+ #: ../admin/views/licenses.php:261 ../admin/views/licenses.php:263
892
+ msgid "Enter License Key"
893
+ msgstr ""
894
+
895
+ #: ../admin/views/licenses.php:47 ../admin/views/licenses.php:102
896
+ #: ../admin/views/licenses.php:157 ../admin/views/licenses.php:211
897
+ #: ../admin/views/licenses.php:266
898
+ msgid "Active"
899
+ msgstr ""
900
+
901
+ #: ../admin/views/licenses.php:51 ../admin/views/licenses.php:106
902
+ #: ../admin/views/licenses.php:161 ../admin/views/licenses.php:215
903
+ #: ../admin/views/licenses.php:270
904
+ msgid "In-active"
905
+ msgstr ""
906
+
907
+ #: ../admin/views/licenses.php:58 ../admin/views/licenses.php:113
908
+ #: ../admin/views/licenses.php:168 ../admin/views/licenses.php:222
909
+ #: ../admin/views/licenses.php:277
910
+ msgid "Save License Key"
911
+ msgstr ""
912
+
913
+ #: ../admin/views/licenses.php:64 ../admin/views/licenses.php:119
914
+ #: ../admin/views/licenses.php:174 ../admin/views/licenses.php:228
915
+ #: ../admin/views/licenses.php:283
916
+ msgid "De-activate License"
917
+ msgstr ""
918
+
919
+ #: ../admin/views/licenses.php:67 ../admin/views/licenses.php:122
920
+ #: ../admin/views/licenses.php:177 ../admin/views/licenses.php:231
921
+ #: ../admin/views/licenses.php:286
922
+ msgid "Activate License"
923
+ msgstr ""
924
+
925
+ #: ../admin/views/licenses.php:90
926
+ msgid "Custom Repeaters v2"
927
+ msgstr ""
928
+
929
+ #: ../admin/views/licenses.php:303
930
+ msgid "You do not have any Ajax Load More add-ons installed"
931
+ msgstr ""
932
+
933
+ #: ../admin/views/licenses.php:303
934
+ msgid "Browse Add-ons"
935
+ msgstr ""
936
+
937
+ #: ../admin/views/licenses.php:314
938
+ msgid "About Licenses"
939
+ msgstr ""
940
+
941
+ #: ../admin/views/licenses.php:317
942
+ msgid ""
943
+ "All licenses are valid for <strong>one year</strong> from the date of "
944
+ "purchase."
945
+ msgstr ""
946
+
947
+ #: ../admin/views/licenses.php:318
948
+ msgid ""
949
+ "License keys are found in the purchase receipt email that was sent "
950
+ "immediately after your successful purchase."
951
+ msgstr ""
952
+
953
+ #: ../admin/views/licenses.php:319
954
+ msgid ""
955
+ "If you cannot locate your key please use the <a href=\"https://connekthq.com/"
956
+ "contact/\">contact form</a> on our website and reference the email address "
957
+ "used when you completed the purchase."
958
+ msgstr ""
959
+
960
+ #: ../admin/views/licenses.php:324
961
+ msgid "Legacy Users"
962
+ msgstr ""
963
+
964
  #: ../admin/views/repeater-templates.php:4
965
  msgid "Repeater Templates"
966
  msgstr ""
1069
  msgid "Clear all Shortcode Builder settings"
1070
  msgstr ""
1071
 
1072
+ #: ../ajax-load-more.php:117
1073
  msgid "Settings"
1074
  msgstr ""
1075
 
1076
+ #: ../ajax-load-more.php:118
1077
  msgid "Shortcode Builder"
1078
  msgstr ""
1079