WordPress Infinite Scroll – Ajax Load More - Version 5.2.0

Version Description

  • March 13, 2020 =
  • NEW - Added new Table of Contents functionality. Table of Contents creates a pagination anchor links with every page loaded via Ajax Load More.
  • NEW - Added support for new Term Query extension.
  • UPDATE - Added support for Post Type archives in the Archives integration.
  • UPDATE - Updated .alm-listing CSS styles to better integrate with WooCommerce.
  • UPDATE - Added new Single Post implementation technique.
Download this release

Release Info

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

Code changes from version 5.1.8 to 5.2.0

Files changed (38) hide show
  1. README.txt +29 -5
  2. admin/admin.php +56 -12
  3. admin/classes/class-nag.php +139 -0
  4. admin/dist/css/admin.css +31 -13
  5. admin/dist/js/admin.js +1 -1
  6. admin/shortcode-builder/components/nextpage.php +10 -10
  7. admin/shortcode-builder/components/single-post.php +43 -4
  8. admin/shortcode-builder/components/term-query.php +91 -0
  9. admin/shortcode-builder/js/shortcode-builder.js +75 -5
  10. admin/shortcode-builder/shortcode-builder.php +92 -8
  11. admin/src/js/admin.js +2 -4
  12. admin/src/scss/admin.scss +4 -35
  13. admin/src/scss/partials/_shortcode-builder.scss +22 -1
  14. admin/views/licenses.php +56 -56
  15. admin/views/settings.php +1 -1
  16. ajax-load-more.php +9 -9
  17. core/classes/class.alm-shortcode.php +170 -26
  18. core/classes/class.alm-woocommerce.php +85 -0
  19. core/classes/includes/preloaded.php +24 -9
  20. core/dist/css/ajax-load-more.css +79 -18
  21. core/dist/css/ajax-load-more.min.css +1 -1
  22. core/dist/js/ajax-load-more.js +629 -246
  23. core/dist/js/ajax-load-more.min.js +3 -3
  24. core/functions.php +3 -3
  25. core/src/js/ajax-load-more.js +178 -34
  26. core/src/js/helpers/{almGetCacheUrl.js → getCacheUrl.js} +2 -2
  27. core/src/js/helpers/{almTableWrap.js → tableWrap.js} +2 -2
  28. core/src/js/modules/almDebug.js +5 -1
  29. core/src/js/modules/filtering.js +10 -1
  30. core/src/js/modules/resultsText.js +55 -41
  31. core/src/js/modules/setLocalizedVars.js +48 -23
  32. core/src/js/modules/tableofcontents.js +148 -0
  33. core/src/scss/_listing.scss +107 -0
  34. core/src/scss/_loaders.scss +196 -0
  35. core/src/scss/_tableofcontents.scss +32 -0
  36. core/src/scss/ajax-load-more.scss +3 -258
  37. lang/ajax-load-more.pot +531 -585
  38. uninstall.php +1 -3
README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://connekthq.com/donate/
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, woocommerce, ajax load more, masonry
5
  Requires at least: 4.0
6
  Tested up to: 5.3.2
7
- Stable tag: 5.1.7.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -196,7 +196,7 @@ The following [extensions](https://connekthq.com/plugins/ajax-load-more/extensio
196
  * **[Relevanssi](https://connekthq.com/plugins/ajax-load-more/extensions/relevanssi/)**: Display Relevanssi search results with Ajax Load More.
197
  * **[REST API](https://connekthq.com/plugins/ajax-load-more/extensions/rest-api/)**: Enable compatibility with the WordPress REST API.
198
  * **[SearchWP](https://connekthq.com/plugins/ajax-load-more/extensions/searchwp/)**: Display SearchWP query results with Ajax Load More.
199
-
200
 
201
 
202
 
@@ -382,13 +382,37 @@ How to install Ajax Load More.
382
 
383
  == Changelog ==
384
 
385
- = 5.1.7.2 = January 25, 2020 =
386
- * NEW - Added support for percentage values in `scroll_distance`. Users can now trigger Ajax requests based on the percentage height of their browsers. e.g. `scoll_distance="-50%"`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
387
  * NEW - Added `alm_query_after_{id}` filter to allow for modification of the returned query.
388
  * NEW - Added new `alm_id` parameter for the `WP_Query` that allows for easier access of query args using `pre_get_post` using the Ajax Load More ID.
389
  ```
390
  add_action( 'pre_get_posts', 'my_custom_category' );
391
- function my_custom_category( $query ) {
392
  if ( isset($query->query['alm_id']) && $query->query['alm_id'] === 'preloaded' ) {
393
  $query->set( 'category_name', 'design' );
394
  }
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, woocommerce, ajax load more, masonry
5
  Requires at least: 4.0
6
  Tested up to: 5.3.2
7
+ Stable tag: 5.2.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
196
  * **[Relevanssi](https://connekthq.com/plugins/ajax-load-more/extensions/relevanssi/)**: Display Relevanssi search results with Ajax Load More.
197
  * **[REST API](https://connekthq.com/plugins/ajax-load-more/extensions/rest-api/)**: Enable compatibility with the WordPress REST API.
198
  * **[SearchWP](https://connekthq.com/plugins/ajax-load-more/extensions/searchwp/)**: Display SearchWP query results with Ajax Load More.
199
+ * **[Term Query](https://wordpress.org/plugins/ajax-load-more-for-terms/)**: Infinite scroll WordPress Terms.
200
 
201
 
202
 
382
 
383
  == Changelog ==
384
 
385
+ = 5.2.0 - March 13, 2020 =
386
+ * NEW - Added new [Table of Contents](https://connekthq.com/plugins/ajax-load-more/examples/table-of-contents/) functionality. Table of Contents creates a pagination anchor links with every page loaded via Ajax Load More.
387
+ * NEW - Added support for new [Term Query](https://wordpress.org/plugins/ajax-load-more-for-terms/) extension.
388
+ * UPDATE - Added support for Post Type archives in the [Archives](https://connekthq.com/plugins/ajax-load-more/docs/archives/) integration.
389
+ * UPDATE - Updated `.alm-listing` CSS styles to better integrate with WooCommerce.
390
+ * UPDATE - Added new Single Post [implementation](https://connekthq.com/plugins/ajax-load-more/add-ons/single-posts/#implementation) technique.
391
+
392
+
393
+ = 5.1.8 =- March 2, 2020 =
394
+
395
+ UPGRADE NOTICE
396
+ This release updates the default text for users who implemented [Results Text](https://connekthq.com/plugins/ajax-load-more/examples/results-text/).
397
+ [New variables](https://connekthq.com/plugins/ajax-load-more/docs/results-text/) have been added to this feature and the default text has changes from `Displaying {num} of {total}.` to `Viewing {post_count} of {total_posts} results.`.
398
+ If you wish to revert this update, you can with the `alm_display_results` [filter](https://connekthq.com/plugins/ajax-load-more/docs/results-text/#filter-hooks).
399
+
400
+ * NEW - Added rtl (right to left) support for the default ALM Repeater Template. Add `.rtl` to the container to align items right to left. Use `css_classes="rtl"` in a shortcode or globally via ALM settings.
401
+ * NEW - Added `archive="true"` parameter that will automatically pull content on archive pages - taxonomy, category, tag, date (year, month, day) and authors are currently supported. [View Docs](https://connekthq.com/plugins/ajax-load-more/docs/archives/)
402
+ * NEW - Added `woocommerce="true"` parameter that will automatically pull product content on woocommerce pages - [docs](https://connekthq.com/plugins/ajax-load-more/docs/woocommerce/) coming soon on this new integration.
403
+ * UPDATE - Updated [Results Text](https://connekthq.com/plugins/ajax-load-more/docs/results-text/) to include post_count and total_posts.
404
+ * UPDATE - Updated time of filter transitions. In some cases users were reporting issues of double clicks causing no results to be returned.
405
+ * FIX - Fixed almComplete callback not firing when zero results are returned in Ajax.
406
+ * FIX - Fixed issue with JavaScript not triggering in Repeater Templates used with Paging add-on.
407
+
408
+
409
+ = 5.1.7.2 - January 25, 2020 =
410
+ * NEW - Added support for percentage values in `scroll_distance`. Users can now trigger Ajax requests based on the percentage height of their browsers. e.g. `scroll_distance="-50%"`
411
  * NEW - Added `alm_query_after_{id}` filter to allow for modification of the returned query.
412
  * NEW - Added new `alm_id` parameter for the `WP_Query` that allows for easier access of query args using `pre_get_post` using the Ajax Load More ID.
413
  ```
414
  add_action( 'pre_get_posts', 'my_custom_category' );
415
+ function my_custom_category( $query ) {
416
  if ( isset($query->query['alm_id']) && $query->query['alm_id'] === 'preloaded' ) {
417
  $query->set( 'category_name', 'design' );
418
  }
admin/admin.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
  add_action( 'init', 'alm_core_update' ); // Core Update
 
3
  add_action( 'wp_ajax_alm_save_repeater', 'alm_save_repeater' ); // Ajax Save Repeater
4
  add_action( 'wp_ajax_alm_update_repeater', 'alm_update_repeater' ); // Ajax Update Repeater
5
  add_action( 'wp_ajax_alm_get_tax_terms', 'alm_get_tax_terms' ); // Ajax Get Taxonomy Terms
@@ -11,15 +12,26 @@ add_action( 'wp_ajax_alm_get_layout', 'alm_get_layout' ); // Get layout
11
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
12
  add_action( 'wp_ajax_alm_set_transient', 'alm_set_transient' ); // Set transient
13
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
 
14
 
15
 
16
 
17
- /*
18
- * almCreatePluginUpdateNotifications
19
- * Create custom update notifications
20
- *
21
- * @since 5.2
22
- */
 
 
 
 
 
 
 
 
 
 
23
  function alm_plugin_update_messages(){
24
  $addons = alm_get_addons();
25
  foreach($addons as $addon){
@@ -87,6 +99,40 @@ function alm_prefix_plugin_update_message( $data, $response ) {
87
 
88
 
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  /*
91
  * alm_render_transient_notification
92
  * Render a notification in the dashboard
@@ -1814,13 +1860,11 @@ function alm_btn_class_callback(){
1814
  jQuery('input#alm_disable_css_input').change(function() {
1815
  var el = jQuery(this);
1816
  if(el.is(":checked")) {
1817
- el.parent().parent('tr').next('tr').hide(); // Hide button
1818
- el.parent().parent('tr').next('tr').next('tr').hide(); // Hide button color
1819
- el.parent().parent('tr').next('tr').next('tr').next('tr').hide(); // Hide inline css
1820
  }else{
1821
- el.parent().parent('tr').next('tr').show(); // show button
1822
- el.parent().parent('tr').next('tr').next('tr').show(); // show button color
1823
- el.parent().parent('tr').next('tr').next('tr').next('tr').show(); // show inline css
1824
  }
1825
  });
1826
 
1
  <?php
2
  add_action( 'init', 'alm_core_update' ); // Core Update
3
+ add_action( 'admin_init', 'alm_admin_hooks' );
4
  add_action( 'wp_ajax_alm_save_repeater', 'alm_save_repeater' ); // Ajax Save Repeater
5
  add_action( 'wp_ajax_alm_update_repeater', 'alm_update_repeater' ); // Ajax Update Repeater
6
  add_action( 'wp_ajax_alm_get_tax_terms', 'alm_get_tax_terms' ); // Ajax Get Taxonomy Terms
12
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
13
  add_action( 'wp_ajax_alm_set_transient', 'alm_set_transient' ); // Set transient
14
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
15
+ add_action( 'after_plugin_row', 'alm_plugin_row' );
16
 
17
 
18
 
19
+ /**
20
+ * Setup the admin hooks
21
+ *
22
+ * @return void
23
+ */
24
+ function alm_admin_hooks() {
25
+ require_once( plugin_dir_path( __FILE__ ) . '/classes/class-nag.php' );
26
+ }
27
+
28
+
29
+ /**
30
+ * almCreatePluginUpdateNotifications
31
+ * Create custom update notifications
32
+ *
33
+ * @since 5.2
34
+ */
35
  function alm_plugin_update_messages(){
36
  $addons = alm_get_addons();
37
  foreach($addons as $addon){
99
 
100
 
101
 
102
+ /*
103
+ * alm_plugin_row
104
+ * Create a notification in the plugin row
105
+ *
106
+ * @since 5.2
107
+ */
108
+ function alm_plugin_row( $plugin_name ) {
109
+
110
+ $addons = alm_get_addons();
111
+ $pro_addons = alm_get_pro_addon();
112
+
113
+ $addons = array_merge(alm_get_addons(), alm_get_pro_addon());
114
+ foreach($addons as $addon){
115
+ if ( $plugin_name == $addon['path'].'/'.$addon['path'].'.php' ) {
116
+
117
+ $status = get_option($addon['status']);
118
+ $style = 'margin: 5px 20px 6px 40px;';
119
+
120
+ // !valid
121
+ if($status !== 'valid'){
122
+ $name = ($addon['name'] === 'Ajax Load More Pro') ? '<strong>'. $addon['name'] .'</strong>' : '<strong>'. 'Ajax Load More: '. $addon['name'] .'</strong>';
123
+
124
+ $row = '</tr><tr class="plugin-update-tr"><td colspan="3" class="plugin-update"><div class="update-message" style="'. $style .'">';
125
+ $row .= sprintf(__('%sRegister%s your copy of %s to receive access to automatic upgrades and support. Need a license key? %sPurchase one now%s.'), '<a href="admin.php?page=ajax-load-more-licenses">', '</a>', $name, '<a href="'. $addon['url'] .'" target="blank">', '</a>');
126
+ $row .= '</div></td>';
127
+ echo $row;
128
+ }
129
+
130
+ }
131
+ }
132
+ }
133
+
134
+
135
+
136
  /*
137
  * alm_render_transient_notification
138
  * Render a notification in the dashboard
1860
  jQuery('input#alm_disable_css_input').change(function() {
1861
  var el = jQuery(this);
1862
  if(el.is(":checked")) {
1863
+ el.parent().parent('tr').next('tr').hide(); // Hide button color
1864
+ el.parent().parent('tr').next('tr').next('tr').hide(); // Hide inline css
 
1865
  }else{
1866
+ el.parent().parent('tr').next('tr').show(); // show button color
1867
+ el.parent().parent('tr').next('tr').next('tr').show(); // show inline css
 
1868
  }
1869
  });
1870
 
admin/classes/class-nag.php ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if(!class_exists('ALM_NAG')) :
4
+
5
+ class ALM_NAG {
6
+
7
+ const OPTION_INSTALL_DATE = 'alm-install-date';
8
+ const OPTION_ADMIN_NOTICE_KEY = 'alm-hide-notice';
9
+ const OPTION_NAG_DELAY = '-5 days';
10
+
11
+ /**
12
+ * Setup the class
13
+ */
14
+ public function setup() {
15
+ // catch nag hide
16
+ $this->catch_hide_notice();
17
+ // bind nag
18
+ $this->bind();
19
+ }
20
+
21
+
22
+ /**
23
+ * Catch the hide nag request
24
+ */
25
+ private function catch_hide_notice() {
26
+ if ( isset( $_GET[ ALM_Nag::OPTION_ADMIN_NOTICE_KEY ] ) && current_user_can( 'install_plugins' ) ) {
27
+ // Add user meta
28
+ global $current_user;
29
+ add_user_meta( $current_user->ID, ALM_Nag::OPTION_ADMIN_NOTICE_KEY, '1', true );
30
+
31
+ // Build redirect URL
32
+ $query_params = $this->get_admin_querystring_array();
33
+ unset( $query_params[ ALM_Nag::OPTION_ADMIN_NOTICE_KEY ] );
34
+ $query_string = http_build_query( $query_params );
35
+ if ( $query_string != '' ) {
36
+ $query_string = '?' . $query_string;
37
+ }
38
+
39
+ $redirect_url = 'http';
40
+ if ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) {
41
+ $redirect_url .= 's';
42
+ }
43
+ $redirect_url .= '://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . $query_string;
44
+
45
+ // Redirect
46
+ wp_redirect( $redirect_url );
47
+ exit;
48
+ }
49
+ }
50
+
51
+
52
+ /**
53
+ * Bind nag message
54
+ */
55
+ private function bind() {
56
+
57
+ // Is admin notice hidden?
58
+ $current_user = wp_get_current_user();
59
+ $hide_notice = get_user_meta( $current_user->ID, ALM_Nag::OPTION_ADMIN_NOTICE_KEY, true );
60
+
61
+ // Check if we need to display the notice
62
+ if ( current_user_can( 'install_plugins' ) && '' == $hide_notice ) {
63
+ // Get installation date
64
+ $datetime_install = $this->get_install_date();
65
+ $datetime_past = new DateTime( ALM_Nag::OPTION_NAG_DELAY );
66
+ if ( $datetime_past >= $datetime_install ) {
67
+ // 10 or more days ago, show admin notice
68
+ add_action( 'admin_notices', array( $this, 'display_admin_notice' ) );
69
+ }
70
+ }
71
+ }
72
+
73
+
74
+ /**
75
+ * Get the install data
76
+ *
77
+ * @return DateTime
78
+ */
79
+ private function get_install_date() {
80
+ $date_string = get_site_option( ALM_Nag::OPTION_INSTALL_DATE, '' );
81
+ if ( $date_string == '' ) {
82
+ // There is no install date, plugin was installed before version 1.2.0. Add it now.
83
+ $date_string = self::insert_install_date();
84
+ }
85
+ return new DateTime( $date_string );
86
+ }
87
+
88
+
89
+ /**
90
+ * Parse the admin query string
91
+ *
92
+ * @return array
93
+ */
94
+ private function get_admin_querystring_array() {
95
+ parse_str( $_SERVER['QUERY_STRING'], $params );
96
+
97
+ return $params;
98
+ }
99
+
100
+
101
+ /**
102
+ * Insert the install date
103
+ *
104
+ * @return string
105
+ */
106
+ public static function insert_install_date() {
107
+ if(!get_site_option(ALM_Nag::OPTION_INSTALL_DATE)){
108
+ $datetime_now = new DateTime();
109
+ $date_string = $datetime_now->format( 'Y-m-d' );
110
+ add_site_option( ALM_Nag::OPTION_INSTALL_DATE, $date_string, '', 'no' );
111
+ return $date_string;
112
+ }
113
+ }
114
+
115
+
116
+ /**
117
+ * Display the admin notice
118
+ */
119
+ public function display_admin_notice() {
120
+
121
+ $query_params = $this->get_admin_querystring_array();
122
+ $query_string = '?' . http_build_query( array_merge( $query_params, array( ALM_Nag::OPTION_ADMIN_NOTICE_KEY => '1' ) ) );
123
+
124
+ echo '<div class="updated" style="padding: 15px;">';
125
+ printf( __( "<p style='padding: 0; margin: 0 0 15px;'>You've been using <b style='color: #222;'><a href='%s'>Ajax Load More</a></b> for some time now, could you please give it a review at wordpress.org?<br/>All reviews, both good and bad are important as they help the plugin grow and improve over time.</p><p style='padding: 0; margin: 0 0 15px;'><a href='%s' target='_blank' class='button button-primary'>Yes, I'll leave a review</a> &nbsp;&nbsp; <a href='%s' class='button-no'>I've already done this</a></p><p style='padding: 10px 0 0; margin: 0;'><small><a href='http://connekthq.com/plugins/' target='_blank'>Check out other <b>Connekt</b> WordPress plugins</a></small></p>" ), get_admin_url() . 'admin.php?page=ajax-load-more', 'http://wordpress.org/support/view/plugin-reviews/ajax-load-more', $query_string );
126
+ echo '</div>';
127
+
128
+ }
129
+ }
130
+
131
+
132
+ function alm_nag_notice(){
133
+ $alm_nag = new ALM_NAG();
134
+ $alm_nag->setup();
135
+ }
136
+ // initialize
137
+ alm_nag_notice();
138
+
139
+ endif;
admin/dist/css/admin.css CHANGED
@@ -983,6 +983,17 @@ disabled look for disabled choices in the results dropdown
983
  background-size: 30px 10px;
984
  background-position: 95% center; }
985
 
 
 
 
 
 
 
 
 
 
 
 
986
  .shortcode-builder section {
987
  display: -webkit-box;
988
  display: -ms-flexbox;
@@ -1043,7 +1054,8 @@ disabled look for disabled choices in the results dropdown
1043
  width: 100%; }
1044
  .shortcode-builder--fields section {
1045
  width: 104%;
1046
- margin-left: -2%; }
 
1047
  .shortcode-builder--fields .half {
1048
  width: 50%;
1049
  padding: 0 2%; }
@@ -1134,6 +1146,12 @@ disabled look for disabled choices in the results dropdown
1134
  display: table;
1135
  content: ''; }
1136
 
 
 
 
 
 
 
1137
  .ajax-load-more .builder-option-toggle {
1138
  display: -webkit-box;
1139
  display: -ms-flexbox;
@@ -1339,7 +1357,7 @@ body.ajax-load-more_page_ajax-load-more-pro {
1339
  */
1340
  .ajax-load-more * {
1341
  -webkit-box-sizing: border-box;
1342
- box-sizing: border-box; }
1343
 
1344
  .forceColors {
1345
  background: #fff !important; }
@@ -1873,7 +1891,7 @@ a.button-small {
1873
  border-radius: 3px;
1874
  color: #555;
1875
  -webkit-box-shadow: none;
1876
- box-shadow: none; }
1877
 
1878
  .ajax-load-more input[type=checkbox],
1879
  .ajax-load-more input[type=radio] {
@@ -2063,7 +2081,7 @@ a.button-small {
2063
  .admin.ajax-load-more.shortcode-builder .row:hover {
2064
  border-color: #d9d9d9;
2065
  -webkit-box-shadow: 0 0 0 3px #f7f7f7;
2066
- box-shadow: 0 0 0 3px #f7f7f7; }
2067
 
2068
  .admin.ajax-load-more .row:first-of-type {
2069
  margin-top: 20px;
@@ -2253,7 +2271,7 @@ hr.indented {
2253
  background: #FF5A58;
2254
  border-top: 1px solid #ca5252;
2255
  -webkit-box-shadow: 0 -5px 5px #efefef;
2256
- box-shadow: 0 -5px 5px #efefef;
2257
  width: 100%;
2258
  display: block;
2259
  z-index: 1; }
@@ -2266,7 +2284,7 @@ hr.indented {
2266
  border: none;
2267
  padding: 0;
2268
  -webkit-box-shadow: none;
2269
- box-shadow: none; }
2270
 
2271
  .ajax-load-more .row .wrap.output {
2272
  display: block !important; }
@@ -3054,7 +3072,7 @@ span.cnkt-button.installed i,
3054
  .license a.cnkt-button.installed {
3055
  background-color: none !important;
3056
  -webkit-box-shadow: none !important;
3057
- box-shadow: none !important;
3058
  border-color: transparent !important; }
3059
 
3060
  .license .no-license {
@@ -3638,10 +3656,10 @@ span.cnkt-button.installed i,
3638
  border-color: #c94141;
3639
  color: #fff;
3640
  -webkit-box-shadow: 0 0 3px #ccc;
3641
- box-shadow: 0 0 3px #ccc; }
3642
  .alm-cache .alm-dir-listing .dir-title .delete:active {
3643
  -webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
3644
- box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2); }
3645
  .alm-cache .cache-page-title {
3646
  font-size: 14px;
3647
  display: block;
@@ -4622,9 +4640,9 @@ span.dismiss a {
4622
  top: -20px;
4623
  background: #fff;
4624
  color: #333;
4625
- width: 40px;
4626
- height: 40px;
4627
- line-height: 39px;
4628
  text-align: center;
4629
  z-index: 1;
4630
  font-weight: 700;
@@ -4633,7 +4651,7 @@ span.dismiss a {
4633
  border: 1px solid #e1e1e1;
4634
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
4635
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
4636
- font-size: 13px; }
4637
 
4638
  .alm-template-section-nav {
4639
  display: block;
983
  background-size: 30px 10px;
984
  background-position: 95% center; }
985
 
986
+ .shortcode-builder p.warning-callout:before {
987
+ display: block;
988
+ width: calc(100% + 36px);
989
+ height: 1px;
990
+ content: '';
991
+ background: #f1f1f1;
992
+ position: absolute;
993
+ left: -18px;
994
+ top: -10px;
995
+ z-index: 1; }
996
+
997
  .shortcode-builder section {
998
  display: -webkit-box;
999
  display: -ms-flexbox;
1054
  width: 100%; }
1055
  .shortcode-builder--fields section {
1056
  width: 104%;
1057
+ margin-left: -2%;
1058
+ border: none; }
1059
  .shortcode-builder--fields .half {
1060
  width: 50%;
1061
  padding: 0 2%; }
1146
  display: table;
1147
  content: ''; }
1148
 
1149
+ .shortcode-builder .section-intro {
1150
+ font-size: 13px;
1151
+ padding: 20px 5px 20px;
1152
+ margin: 0 0 20px;
1153
+ border-bottom: 1px solid #f1f1f1; }
1154
+
1155
  .ajax-load-more .builder-option-toggle {
1156
  display: -webkit-box;
1157
  display: -ms-flexbox;
1357
  */
1358
  .ajax-load-more * {
1359
  -webkit-box-sizing: border-box;
1360
+ box-sizing: border-box; }
1361
 
1362
  .forceColors {
1363
  background: #fff !important; }
1891
  border-radius: 3px;
1892
  color: #555;
1893
  -webkit-box-shadow: none;
1894
+ box-shadow: none; }
1895
 
1896
  .ajax-load-more input[type=checkbox],
1897
  .ajax-load-more input[type=radio] {
2081
  .admin.ajax-load-more.shortcode-builder .row:hover {
2082
  border-color: #d9d9d9;
2083
  -webkit-box-shadow: 0 0 0 3px #f7f7f7;
2084
+ box-shadow: 0 0 0 3px #f7f7f7; }
2085
 
2086
  .admin.ajax-load-more .row:first-of-type {
2087
  margin-top: 20px;
2271
  background: #FF5A58;
2272
  border-top: 1px solid #ca5252;
2273
  -webkit-box-shadow: 0 -5px 5px #efefef;
2274
+ box-shadow: 0 -5px 5px #efefef;
2275
  width: 100%;
2276
  display: block;
2277
  z-index: 1; }
2284
  border: none;
2285
  padding: 0;
2286
  -webkit-box-shadow: none;
2287
+ box-shadow: none; }
2288
 
2289
  .ajax-load-more .row .wrap.output {
2290
  display: block !important; }
3072
  .license a.cnkt-button.installed {
3073
  background-color: none !important;
3074
  -webkit-box-shadow: none !important;
3075
+ box-shadow: none !important;
3076
  border-color: transparent !important; }
3077
 
3078
  .license .no-license {
3656
  border-color: #c94141;
3657
  color: #fff;
3658
  -webkit-box-shadow: 0 0 3px #ccc;
3659
+ box-shadow: 0 0 3px #ccc; }
3660
  .alm-cache .alm-dir-listing .dir-title .delete:active {
3661
  -webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
3662
+ box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2); }
3663
  .alm-cache .cache-page-title {
3664
  font-size: 14px;
3665
  display: block;
4640
  top: -20px;
4641
  background: #fff;
4642
  color: #333;
4643
+ width: 34px;
4644
+ height: 34px;
4645
+ line-height: 34px;
4646
  text-align: center;
4647
  z-index: 1;
4648
  font-weight: 700;
4651
  border: 1px solid #e1e1e1;
4652
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
4653
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
4654
+ font-size: 11px; }
4655
 
4656
  .alm-template-section-nav {
4657
  display: block;
admin/dist/js/admin.js CHANGED
@@ -1462,6 +1462,7 @@ jQuery(document).ready(function ($) {
1462
  $('.ajax-load-more-wrap.core').removeClass('chasing-arrows');
1463
  $('.ajax-load-more-wrap.core').addClass(color);
1464
  });
 
1465
  $("select#alm_settings_btn_color").click(function (e) {
1466
  e.preventDefault();
1467
  });
@@ -1665,7 +1666,6 @@ jQuery(document).ready(function ($) {
1665
  * Get layout value Ajax
1666
  * @since 2.8.7
1667
  */
1668
- console.log(window.editorDefault);
1669
  $(document).on('click', '.alm-layout-selection li a.layout', function (e) {
1670
  e.preventDefault();
1671
  var el = $(this),
1462
  $('.ajax-load-more-wrap.core').removeClass('chasing-arrows');
1463
  $('.ajax-load-more-wrap.core').addClass(color);
1464
  });
1465
+
1466
  $("select#alm_settings_btn_color").click(function (e) {
1467
  e.preventDefault();
1468
  });
1666
  * Get layout value Ajax
1667
  * @since 2.8.7
1668
  */
 
1669
  $(document).on('click', '.alm-layout-selection li a.layout', function (e) {
1670
  e.preventDefault();
1671
  var el = $(this),
admin/shortcode-builder/components/nextpage.php CHANGED
@@ -5,7 +5,7 @@
5
 
6
  <section class="first">
7
  <div class="shortcode-builder--label">
8
- <p><?php _e('Enable the infinite scrolling of multipage WordPress content using the', 'ajax-load-more'); ?> <span>< !--nextpage-- ></span> <?php _e('Quicktag', 'ajax-load-more'); ?>.</p>
9
  </div>
10
  <div class="shortcode-builder--fields">
11
  <div class="inner">
@@ -41,14 +41,14 @@
41
  <section>
42
  <div class="shortcode-builder--label">
43
  <h4><?php _e('URL Rewrite', 'ajax-load-more'); ?></h4>
44
- <p><?php _e('Update the browser address bar as pages come into view', 'ajax-load-more'); ?>.</p>
45
  </div>
46
  <div class="shortcode-builder--fields">
47
  <div class="inner">
48
  <ul>
49
  <li style="width:100%;">
50
  <input class="alm_element" type="checkbox" name="next-page-url" id="next-page-url" value="true" checked="checked">
51
- <label for="next-page-url"><?php _e('Yes, update the URL', 'ajax-load-more'); ?>.</label>
52
  </li>
53
  </ul>
54
  <input type="checkbox" class="alm_element" name="next-page-url" id="next-page-url" checked="checked">
@@ -60,16 +60,16 @@
60
  <div class="shortcode-builder--label">
61
  <h4>
62
  <?php _e('Google Analytics', 'ajax-load-more'); ?>
63
- <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('You must have a reference to your Google Analytics tracking code already on the page','ajax-load-more'); ?>."></a>
64
  </h4>
65
- <p><?php _e('Each time a page is loaded it will count as a pageview', 'ajax-load-more'); ?>.</p>
66
  </div>
67
  <div class="shortcode-builder--fields">
68
  <div class="inner">
69
  <ul>
70
  <li style="width:100%;">
71
  <input class="alm_element" type="checkbox" name="next-page-pageviews" id="next-page-pageviews" value="true" checked="checked">
72
- <label for="next-page-pageviews"><?php _e('Yes, send pageviews to Google Analytics', 'ajax-load-more'); ?>.</label>
73
  </li>
74
  </ul>
75
  <input type="checkbox" class="alm_element" name="next-page-url" id="next-page-url" checked="checked">
@@ -81,11 +81,11 @@
81
  <div class="shortcode-builder--label">
82
  <h4><?php _e('Scroll to Page', 'ajax-load-more'); ?></h4>
83
  <p>
84
- <?php _e('Scroll users automatically to the next page on \'Load More\' action', 'ajax-load-more'); ?>.
85
  </p>
86
  </div>
87
  <div class="shortcode-builder--fields">
88
- <section>
89
  <div class="half">
90
  <label for="next-page-scroll" class="full"><?php _e('Enable Scrolling', 'ajax-load-more'); ?></label>
91
  <select class="alm_element" name="next-page-scroll" id="next-page-scroll">
@@ -96,7 +96,7 @@
96
  <div class="half">
97
  <label for="next-page-scroll-top" class="full">
98
  <?php _e('Scroll Top', 'ajax-load-more'); ?>
99
- <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('The scrolltop position of the window (used with scrolling and fwd/back browser buttons)','ajax-load-more'); ?>."></a>
100
  </label>
101
  <input id="next-page-scroll-top" name="next-page-scroll-top" class="alm_element sm" type="number" min="0" max="1000" step="1" value="30" placeholder="30">
102
  </div>
@@ -105,7 +105,7 @@
105
  </section>
106
 
107
  <p class="warning-callout">
108
- <?php _e('You must add the Next Page shortcode directly to your single template file using the <a href="https://developer.wordpress.org/reference/functions/do_shortcode/" target="_blank">do_shortcode</a> method.', 'ajax-load-more'); ?> <a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/next-page/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a>
109
  </p>
110
  </div>
111
 
5
 
6
  <section class="first">
7
  <div class="shortcode-builder--label">
8
+ <p><?php _e('Enable the infinite scrolling of multipage WordPress content using the', 'ajax-load-more'); ?> <span>< !--nextpage-- ></span> <?php _e('Quicktag or Page Break block.', 'ajax-load-more'); ?></p>
9
  </div>
10
  <div class="shortcode-builder--fields">
11
  <div class="inner">
41
  <section>
42
  <div class="shortcode-builder--label">
43
  <h4><?php _e('URL Rewrite', 'ajax-load-more'); ?></h4>
44
+ <p><?php _e('Update the browser address bar as pages come into view.', 'ajax-load-more'); ?></p>
45
  </div>
46
  <div class="shortcode-builder--fields">
47
  <div class="inner">
48
  <ul>
49
  <li style="width:100%;">
50
  <input class="alm_element" type="checkbox" name="next-page-url" id="next-page-url" value="true" checked="checked">
51
+ <label for="next-page-url"><?php _e('Yes, update the URL.', 'ajax-load-more'); ?></label>
52
  </li>
53
  </ul>
54
  <input type="checkbox" class="alm_element" name="next-page-url" id="next-page-url" checked="checked">
60
  <div class="shortcode-builder--label">
61
  <h4>
62
  <?php _e('Google Analytics', 'ajax-load-more'); ?>
63
+ <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('You must have a reference to your Google Analytics tracking code already on the page.','ajax-load-more'); ?>"></a>
64
  </h4>
65
+ <p><?php _e('Each time a page is loaded it will count as a pageview.', 'ajax-load-more'); ?></p>
66
  </div>
67
  <div class="shortcode-builder--fields">
68
  <div class="inner">
69
  <ul>
70
  <li style="width:100%;">
71
  <input class="alm_element" type="checkbox" name="next-page-pageviews" id="next-page-pageviews" value="true" checked="checked">
72
+ <label for="next-page-pageviews"><?php _e('Yes, send pageviews to Google Analytics.', 'ajax-load-more'); ?></label>
73
  </li>
74
  </ul>
75
  <input type="checkbox" class="alm_element" name="next-page-url" id="next-page-url" checked="checked">
81
  <div class="shortcode-builder--label">
82
  <h4><?php _e('Scroll to Page', 'ajax-load-more'); ?></h4>
83
  <p>
84
+ <?php _e('Scroll users automatically to the next page on \'Load More\' action.', 'ajax-load-more'); ?>
85
  </p>
86
  </div>
87
  <div class="shortcode-builder--fields">
88
+ <section class="first">
89
  <div class="half">
90
  <label for="next-page-scroll" class="full"><?php _e('Enable Scrolling', 'ajax-load-more'); ?></label>
91
  <select class="alm_element" name="next-page-scroll" id="next-page-scroll">
96
  <div class="half">
97
  <label for="next-page-scroll-top" class="full">
98
  <?php _e('Scroll Top', 'ajax-load-more'); ?>
99
+ <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('The scrolltop position of the window (used with scrolling and fwd/back browser buttons).','ajax-load-more'); ?>"></a>
100
  </label>
101
  <input id="next-page-scroll-top" name="next-page-scroll-top" class="alm_element sm" type="number" min="0" max="1000" step="1" value="30" placeholder="30">
102
  </div>
105
  </section>
106
 
107
  <p class="warning-callout">
108
+ <?php _e('You must add the Next Page shortcode directly to your template file using the <a href="https://developer.wordpress.org/reference/functions/do_shortcode/" target="_blank">do_shortcode</a> method.', 'ajax-load-more'); ?> <a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/next-page/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a>
109
  </p>
110
  </div>
111
 
admin/shortcode-builder/components/single-post.php CHANGED
@@ -35,11 +35,25 @@
35
  <input type="text" value="get_the_ID()" id="pp_id" class="alm_element disabled-input" disabled="disabled">
36
  </div>
37
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </section>
39
 
40
  <section>
41
  <div class="shortcode-builder--label">
42
- <h4><?php _e('Post Ordering', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('By default, the Single Posts add-on will use the core WordPress `get_previous_post` function, but you can over ride that here.', 'ajax-load-more'); ?>."></a></h4>
43
  <p><?php _e('Select the load order of posts while infinite scrolling.', 'ajax-load-more'); ?></p>
44
  <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/single-post/#ordering" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a></p>
45
  </div>
@@ -72,7 +86,7 @@
72
  <div id="pp_extras">
73
  <section>
74
  <div class="shortcode-builder--label">
75
- <h4><?php _e('Taxonomy', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Selecting a taxonomy means only previous posts from the same taxonomy term will be returned. If a post has multiple terms attached, each term will be considered using an OR relationship query','ajax-load-more'); ?>."></a></h4>
76
  <p><?php _e('Query previous posts from the same taxonomy term(s).', 'ajax-load-more'); ?></p>
77
  </div>
78
  <div class="shortcode-builder--fields">
@@ -104,7 +118,7 @@
104
 
105
  <section>
106
  <div class="shortcode-builder--label">
107
- <h4><?php _e('Excluded Terms ', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('A comma-separated list of excluded terms by ID','ajax-load-more'); ?>."></a></h4>
108
  <p><?php _e('Exclude posts by term ID from the previous post query.', 'ajax-load-more'); ?></p>
109
  </div>
110
  <div class="shortcode-builder--fields">
@@ -113,8 +127,34 @@
113
  </div>
114
  </div>
115
  </section>
 
116
  </div>
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  <section>
119
  <div class="shortcode-builder--label">
120
  <h4><?php _e('Reading Progress Bar ', 'ajax-load-more'); ?></h4>
@@ -214,7 +254,6 @@
214
  <!-- END Reading Progress Bar -->
215
 
216
  <div class="clear"></div>
217
- <hr>
218
 
219
  <p class="warning-callout">
220
  <?php _e('You must add the Single Post shortcode directly to your single template file using the <a href="https://developer.wordpress.org/reference/functions/do_shortcode/" target="_blank">do_shortcode</a> method.', 'ajax-load-more'); ?> <a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/single-post/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a>
35
  <input type="text" value="get_the_ID()" id="pp_id" class="alm_element disabled-input" disabled="disabled">
36
  </div>
37
  </div>
38
+ </section>
39
+
40
+ <section>
41
+ <div class="shortcode-builder--label">
42
+ <h4><?php _e('Target', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Repeater Templates are not required when using the Target implementation.', 'ajax-load-more'); ?>"></a></h4>
43
+ <p><?php _e('Enter the ID or classname of HTML element that wraps your single post content.', 'ajax-load-more'); ?>
44
+ <small>e.g. #container or .post-wrapper</small></p>
45
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/single-posts/#implementation" target="_blank"><?php _e('View Guide', 'ajax-load-more'); ?></a></p>
46
+ </div>
47
+ <div class="shortcode-builder--fields">
48
+ <div class="inner">
49
+ <input type="text" id="pp-target" class="alm_element" value="" placeholder="#container">
50
+ </div>
51
+ </div>
52
  </section>
53
 
54
  <section>
55
  <div class="shortcode-builder--label">
56
+ <h4><?php _e('Post Ordering', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('By default, the Single Posts add-on will use the core WordPress `get_previous_post` function, but you can over ride that here.', 'ajax-load-more'); ?>"></a></h4>
57
  <p><?php _e('Select the load order of posts while infinite scrolling.', 'ajax-load-more'); ?></p>
58
  <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/single-post/#ordering" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a></p>
59
  </div>
86
  <div id="pp_extras">
87
  <section>
88
  <div class="shortcode-builder--label">
89
+ <h4><?php _e('Taxonomy', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Selecting a taxonomy means only previous posts from the same taxonomy term will be returned. If a post has multiple terms attached, each term will be considered using an OR relationship query.','ajax-load-more'); ?>"></a></h4>
90
  <p><?php _e('Query previous posts from the same taxonomy term(s).', 'ajax-load-more'); ?></p>
91
  </div>
92
  <div class="shortcode-builder--fields">
118
 
119
  <section>
120
  <div class="shortcode-builder--label">
121
+ <h4><?php _e('Excluded Terms ', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('A comma-separated list of excluded terms by ID.','ajax-load-more'); ?>"></a></h4>
122
  <p><?php _e('Exclude posts by term ID from the previous post query.', 'ajax-load-more'); ?></p>
123
  </div>
124
  <div class="shortcode-builder--fields">
127
  </div>
128
  </div>
129
  </section>
130
+
131
  </div>
132
 
133
+ <?php if( is_plugin_active( 'elementor-pro/elementor-pro.php' ) ) { ?>
134
+ <!-- Elementor -->
135
+ <section>
136
+ <div class="shortcode-builder--label">
137
+ <h4><?php _e('Elementor', 'ajax-load-more'); ?></h4>
138
+ <p><?php _e('Set Elementor <b>true</b> if you are using Elementor templates to build single posts.', 'ajax-load-more'); ?></p>
139
+ <p><a class="button-small" href="https://connekthq.com/elementor-infinite-scrolling/" target="_blank"><?php _e('View Blog Post', 'ajax-load-more'); ?></a></p>
140
+ </div>
141
+ <div class="shortcode-builder--fields">
142
+ <div class="inner">
143
+ <ul>
144
+ <li>
145
+ <input class="alm_element" type="radio" name="elementor-single" value="t" id="elementor_t">
146
+ <label for="elementor_t"><?php _e('True', 'ajax-load-more'); ?></label>
147
+ </li>
148
+ <li>
149
+ <input class="alm_element" type="radio" name="elementor-single" value="f" id="elementor_f" checked="checked">
150
+ <label for="elementor_f"><?php _e('False', 'ajax-load-more'); ?></label>
151
+ </li>
152
+ </ul>
153
+ </div>
154
+ </div>
155
+ </section>
156
+ <?php } ?>
157
+
158
  <section>
159
  <div class="shortcode-builder--label">
160
  <h4><?php _e('Reading Progress Bar ', 'ajax-load-more'); ?></h4>
254
  <!-- END Reading Progress Bar -->
255
 
256
  <div class="clear"></div>
 
257
 
258
  <p class="warning-callout">
259
  <?php _e('You must add the Single Post shortcode directly to your single template file using the <a href="https://developer.wordpress.org/reference/functions/do_shortcode/" target="_blank">do_shortcode</a> method.', 'ajax-load-more'); ?> <a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/add-ons/single-post/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a>
admin/shortcode-builder/components/term-query.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if(has_action('alm_terms_installed')) { ?>
2
+ <div class="row input term_query add-on" id="alm-term_query">
3
+ <h3 class="heading" tabindex="0"><?php _e('Terms', 'ajax-load-more'); ?></h3>
4
+ <div class="expand-wrap">
5
+
6
+ <section class="first">
7
+ <div class="shortcode-builder--label">
8
+ <p><?php _e('Enable Terms Query.', 'ajax-load-more'); ?></p>
9
+ </div>
10
+ <div class="shortcode-builder--fields">
11
+ <div class="inner">
12
+ <ul>
13
+ <li>
14
+ <input class="alm_element" type="radio" name="term_query" value="true" id="term_query-true" >
15
+ <label for="term_query-true"><?php _e('True', 'ajax-load-more'); ?></label>
16
+ </li>
17
+ <li>
18
+ <input class="alm_element" type="radio" name="term_query" value="false" id="term_query-false" checked="checked">
19
+ <label for="term_query-false"><?php _e('False', 'ajax-load-more'); ?></label>
20
+ </li>
21
+ </ul>
22
+ </div>
23
+ </div>
24
+ </section>
25
+
26
+ <div class="nested-component term_query-options" style="display: none;">
27
+ <div class="nested-component--inner">
28
+ <?php
29
+ // Taxonomies
30
+ $tax_args = array(
31
+ 'public' => true,
32
+ '_builtin' => false
33
+ );
34
+ $tax_output = 'objects';
35
+ $taxonomies = get_taxonomies( $tax_args, $tax_output );
36
+ ?>
37
+ <section>
38
+ <div class="shortcode-builder--label">
39
+ <h4><?php _e('Taxonomy', 'ajax-load-more'); ?></h4>
40
+ <p><?php _e('Select a taxonomy to query.', 'ajax-load-more'); ?></p>
41
+ </div>
42
+ <div class="shortcode-builder--fields">
43
+ <div class="inner">
44
+ <select class="alm_element multiple" name="term_query-taxonomy-select" id="term_query-taxonomy-select" multiple="multiple">
45
+ <option value="category"><?php _e('Category', 'ajax-load-more'); ?></option>
46
+ <option value="post_tag"><?php _e('Tag', 'ajax-load-more'); ?></option>
47
+ <?php
48
+ if($taxonomies){
49
+ foreach( $taxonomies as $taxonomy ){ ?>
50
+ <option name="chk-<?php echo $taxonomy->query_var; ?>" id="chk-<?php echo $taxonomy->query_var; ?>" value="<?php echo $taxonomy->query_var;?>"><?php echo $taxonomy->label; ?></option>
51
+ <?php
52
+ }
53
+ } ?>
54
+ </select>
55
+ </div>
56
+ </div>
57
+ </section>
58
+
59
+ <section>
60
+ <div class="shortcode-builder--label">
61
+ <h4><?php _e('Number', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Leave empty to return all terms.','ajax-load-more'); ?>"></a></h4>
62
+ <p><?php _e('The number of terms to return per page.', 'ajax-load-more'); ?></p>
63
+ </div>
64
+ <div class="shortcode-builder--fields">
65
+ <div class="inner">
66
+ <input type="number" id="term_query-number" class="alm_element numbers-only" name="term_query-number" value="5">
67
+ </div>
68
+ </div>
69
+ </section>
70
+
71
+ <section>
72
+ <div class="shortcode-builder--label">
73
+ <h4><?php _e('Hide Empty', 'ajax-load-more'); ?></h4>
74
+ <p><?php _e('Whether to hide terms not assigned to any posts.', 'ajax-load-more'); ?></p>
75
+ </div>
76
+ <div class="shortcode-builder--fields">
77
+ <div class="inner">
78
+ <select class="alm_element term_query-hide-empty" id="term_query-hide-empty">
79
+ <option value="true" selected="selected"><?php _e('True', 'ajax-load-more'); ?></option>
80
+ <option value="false"><?php _e('False', 'ajax-load-more'); ?></option>
81
+ </select>
82
+ </div>
83
+ </div>
84
+ </section>
85
+
86
+ </div>
87
+
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <?php } ?>
admin/shortcode-builder/js/shortcode-builder.js CHANGED
@@ -39,6 +39,8 @@ jQuery(document).ready(function($) {
39
  $('.ajax-load-more .categories select.multiple').select2();
40
  $('.ajax-load-more .tags select.multiple').select2();
41
  $('.ajax-load-more .authors select.multiple').select2();
 
 
42
  };
43
 
44
 
@@ -523,6 +525,31 @@ jQuery(document).ready(function($) {
523
  }
524
 
525
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
526
  // ---------------------------
527
  // - SEO
528
  // ---------------------------
@@ -547,7 +574,9 @@ jQuery(document).ready(function($) {
547
  pp_post__in_order = $('#pp_post__in_input').val(),
548
  pp_taxonomy = $('#pp-taxonomy-select').val(),
549
  pp_excluded_terms = $('#pp-term-exclude').val(),
550
- pp_progress_bar = $('.previous-post input[name=prev-post-progress]:checked').val();
 
 
551
 
552
 
553
  $('.prev_post_options').slideDown(250, 'alm_easeInOutQuad');
@@ -578,8 +607,11 @@ jQuery(document).ready(function($) {
578
  }
579
  }
580
 
581
- output += (pp_taxonomy !== '' ) ? ' single_post_taxonomy="'+pp_taxonomy+'"' : '';
582
- output += (pp_excluded_terms !== '' ) ? ' single_post_excluded_terms="'+pp_excluded_terms+'"' : '';
 
 
 
583
 
584
  // Reading Progress Bar
585
  if(pp_progress_bar === 'true'){
@@ -1345,6 +1377,21 @@ jQuery(document).ready(function($) {
1345
  }
1346
 
1347
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1348
  // ---------------------------
1349
  // - No Results Text
1350
  // ---------------------------
@@ -1384,8 +1431,30 @@ jQuery(document).ready(function($) {
1384
  $(document).on('change keyup', '.alm_element', function() {
1385
  var el = $(this);
1386
  el.addClass('changed');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1387
 
1388
- // reset repeater templates
1389
  if(el.attr('name') === 'repeater-select'){
1390
  $('.select-theme-repeater select[name=theme-repeater-select]').select2('val','');
1391
  }
@@ -1394,7 +1463,8 @@ jQuery(document).ready(function($) {
1394
  $('.repeater select[name=repeater-select]').select2('val','default');
1395
  }
1396
  }
1397
-
 
1398
  if(el.attr('id') === 'comments_template'){
1399
  $('#comments_callback').val('');
1400
  }
39
  $('.ajax-load-more .categories select.multiple').select2();
40
  $('.ajax-load-more .tags select.multiple').select2();
41
  $('.ajax-load-more .authors select.multiple').select2();
42
+ $('.ajax-load-more .term_query select.multiple').select2();
43
+ $('.ajax-load-more .users select.multiple').select2();
44
  };
45
 
46
 
525
  }
526
 
527
 
528
+
529
+ // ---------------------------
530
+ // - TERMS
531
+ // ---------------------------
532
+
533
+ var term_query = $('#alm-term_query input[name=term_query]:checked').val();
534
+ if(term_query !== 'false' && term_query != undefined){
535
+ $('.term_query-options').slideDown(250, 'alm_easeInOutQuad');
536
+
537
+ var term_query_taxonomy = $('#alm-term_query select#term_query-taxonomy-select').val();
538
+ var term_query_number = $('#alm-term_query #term_query-number').val();
539
+ var term_query_hide_empty = $('#alm-term_query #term_query-hide-empty').val();
540
+ if(term_query_taxonomy){
541
+ output += ' term_query="true"';
542
+ output += ' term_query_taxonomy="'+ term_query_taxonomy +'"';
543
+ output += ' term_query_number="'+ term_query_number +'"';
544
+ output += ' term_query_hide_empty="'+ term_query_hide_empty +'"';
545
+ }
546
+
547
+
548
+ }else{
549
+ $('.term_query-options').slideUp(250, 'alm_easeInOutQuad')
550
+ }
551
+
552
+
553
  // ---------------------------
554
  // - SEO
555
  // ---------------------------
574
  pp_post__in_order = $('#pp_post__in_input').val(),
575
  pp_taxonomy = $('#pp-taxonomy-select').val(),
576
  pp_excluded_terms = $('#pp-term-exclude').val(),
577
+ pp_elementor = $('.previous-post input[name=elementor-single]:checked').val(),
578
+ pp_progress_bar = $('.previous-post input[name=prev-post-progress]:checked').val(),
579
+ pp_target = $('.previous-post input#pp-target').val();
580
 
581
 
582
  $('.prev_post_options').slideDown(250, 'alm_easeInOutQuad');
607
  }
608
  }
609
 
610
+ output += (pp_taxonomy !== '' ) ? ' single_post_taxonomy="'+ pp_taxonomy +'"' : '';
611
+ output += (pp_excluded_terms !== '' ) ? ' single_post_excluded_terms="'+ pp_excluded_terms +'"' : '';
612
+ output += (pp_target !== '' ) ? ' single_post_target="'+ pp_target +'"' : '';
613
+ output += (pp_elementor === 't' ) ? ' elementor="true"' : '';
614
+
615
 
616
  // Reading Progress Bar
617
  if(pp_progress_bar === 'true'){
1377
  }
1378
 
1379
 
1380
+ // ---------------------------
1381
+ // - Integrations
1382
+ // ---------------------------
1383
+
1384
+ var archive = $('.alm-archive input[name=archive]:checked').val();
1385
+ if(archive === 't'){
1386
+ output += ' archive="true"';
1387
+ }
1388
+
1389
+ var woocommerce = $('.alm-woocommerce input[name=woocommerce]:checked').val();
1390
+ if(woocommerce === 't'){
1391
+ output += ' woocommerce="true"';
1392
+ }
1393
+
1394
+
1395
  // ---------------------------
1396
  // - No Results Text
1397
  // ---------------------------
1431
  $(document).on('change keyup', '.alm_element', function() {
1432
  var el = $(this);
1433
  el.addClass('changed');
1434
+
1435
+ // WooCommerce
1436
+ if( el.attr('name') === 'woocommerce'){
1437
+ var postTypeCheckboxes = $('ul.alm-post-type-list input[type=checkbox]');
1438
+ // Check 'product'
1439
+ $('ul.alm-post-type-list input[type=checkbox]#chk-product').prop('checked', true).addClass('changed');
1440
+
1441
+ if(postTypeCheckboxes){
1442
+ postTypeCheckboxes.each(function(index, item){
1443
+ if(item.dataset.type !== 'product'){
1444
+ item.checked = false;
1445
+ }
1446
+ });
1447
+ }
1448
+
1449
+ $('.alm-archive input#archive_f').prop('checked', true);
1450
+ }
1451
+
1452
+ // Archives
1453
+ if( el.attr('name') === 'archive'){
1454
+ $('.alm-woocommerce input#woocommerce_f').prop('checked', true);
1455
+ }
1456
 
1457
+ // Reset Repeater Templates
1458
  if(el.attr('name') === 'repeater-select'){
1459
  $('.select-theme-repeater select[name=theme-repeater-select]').select2('val','');
1460
  }
1463
  $('.repeater select[name=repeater-select]').select2('val','default');
1464
  }
1465
  }
1466
+
1467
+ // Comments
1468
  if(el.attr('id') === 'comments_template'){
1469
  $('#comments_callback').val('');
1470
  }
admin/shortcode-builder/shortcode-builder.php CHANGED
@@ -34,6 +34,7 @@
34
  require_once('components/rest-api.php');
35
  require_once('components/seo.php');
36
  require_once('components/single-post.php');
 
37
  require_once('components/users.php');
38
  ?>
39
  </div>
@@ -45,12 +46,14 @@
45
  <div class="shortcode-parameter-wrap">
46
  <h2 tabindex="0" class="shortcode-title"><i class="fa fa-cog"></i><?php _e('Display Settings', 'ajax-load-more'); ?></h2>
47
  <div class="section-wrap">
48
-
 
 
49
  <!-- Options -->
50
  <div class="row input alm-instance-options" id="alm-instance-options">
51
  <h3 class="heading" tabindex="0"><?php _e('Options', 'ajax-load-more'); ?></h3>
52
  <div class="expand-wrap">
53
-
54
  <!-- ID -->
55
  <section class="first">
56
  <div class="shortcode-builder--label">
@@ -181,7 +184,8 @@
181
  <section>
182
  <div class="shortcode-builder--label">
183
  <h4><?php _e('Destroy After', 'ajax-load-more'); ?></h4>
184
- <p><?php _e('Remove Ajax Load More functionality after {<em>n</em>} number of pages have been loaded.', 'ajax-load-more'); ?></p>
 
185
  </div>
186
  <div class="shortcode-builder--fields alm-destroy-after">
187
  <div class="inner">
@@ -194,7 +198,8 @@
194
  <section>
195
  <div class="shortcode-builder--label">
196
  <h4><?php _e('Images Loaded', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Background images are not supported.','ajax-load-more'); ?>"></a></h4>
197
- <p><?php _e('Wait for all images to load before displaying ajax loaded content.', 'ajax-load-more'); ?></p>
 
198
  </div>
199
  <div class="shortcode-builder--fields alm-images-loaded">
200
  <div class="inner">
@@ -701,7 +706,9 @@
701
  <div class="shortcode-parameter-wrap">
702
  <h2 tabindex="0" class="shortcode-title"><i class="fa fa-database"></i><?php _e('Query Parameters', 'ajax-load-more'); ?></h2>
703
  <div class="section-wrap">
704
-
 
 
705
  <!-- Posts Per Page -->
706
  <div class="row input posts_per_page" id="alm-post-page">
707
  <h3 class="heading" tabindex="0"><?php _e('Posts Per Page', 'ajax-load-more'); ?></h3>
@@ -1018,7 +1025,7 @@
1018
  </section>
1019
  </div>
1020
  </div>
1021
- <?php }?>
1022
  <!-- End Taxonomies -->
1023
 
1024
  <!-- Meta_Query -->
@@ -1124,11 +1131,13 @@
1124
 
1125
  <!-- Search -->
1126
  <div class="row input search-term" id="alm-search">
1127
- <h3 class="heading" tabindex="0"><?php _e('Search Term', 'ajax-load-more'); ?></h3>
1128
  <div class="expand-wrap">
1129
  <section>
1130
  <div class="shortcode-builder--label">
1131
  <p><?php _e('Enter a search term to query.', 'ajax-load-more'); ?></p>
 
 
1132
  </div>
1133
  <div class="shortcode-builder--fields">
1134
  <div class="inner">
@@ -1159,7 +1168,7 @@
1159
  <div class="shortcode-builder--label">
1160
  <h4><?php _e('Exclude', 'ajax-load-more'); ?></h4>
1161
  <p><?php _e('A comma separated list of post ID\'s to exclude from query.', 'ajax-load-more'); ?></p>
1162
- <P><a class="button-small" href="admin.php?page=ajax-load-more-help&section=examples#example-exclude" target="_blank"><?php _e('View Example', 'ajax-load-more'); ?></a></p>
1163
  </div>
1164
  <div class="shortcode-builder--fields">
1165
  <div class="inner">
@@ -1271,5 +1280,80 @@
1271
  </div>
1272
  <!-- End Query Parameters -->
1273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1274
 
1275
  <div class="clear"></div>
34
  require_once('components/rest-api.php');
35
  require_once('components/seo.php');
36
  require_once('components/single-post.php');
37
+ require_once('components/term-query.php');
38
  require_once('components/users.php');
39
  ?>
40
  </div>
46
  <div class="shortcode-parameter-wrap">
47
  <h2 tabindex="0" class="shortcode-title"><i class="fa fa-cog"></i><?php _e('Display Settings', 'ajax-load-more'); ?></h2>
48
  <div class="section-wrap">
49
+
50
+ <p class="section-intro"><?php _e('Display Settings allow you create a custom Ajax Load More experience for your visitors.', 'ajax-load-more'); ?></p>
51
+
52
  <!-- Options -->
53
  <div class="row input alm-instance-options" id="alm-instance-options">
54
  <h3 class="heading" tabindex="0"><?php _e('Options', 'ajax-load-more'); ?></h3>
55
  <div class="expand-wrap">
56
+
57
  <!-- ID -->
58
  <section class="first">
59
  <div class="shortcode-builder--label">
184
  <section>
185
  <div class="shortcode-builder--label">
186
  <h4><?php _e('Destroy After', 'ajax-load-more'); ?></h4>
187
+ <p><?php _e('Remove Ajax Load More functionality after {<em>n</em>} number of pages have been loaded.', 'ajax-load-more'); ?></p>
188
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/examples/destroy-after/" target="_blank"><?php _e('View Example', 'ajax-load-more'); ?></a></p>
189
  </div>
190
  <div class="shortcode-builder--fields alm-destroy-after">
191
  <div class="inner">
198
  <section>
199
  <div class="shortcode-builder--label">
200
  <h4><?php _e('Images Loaded', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('Background images are not supported.','ajax-load-more'); ?>"></a></h4>
201
+ <p><?php _e('Wait for all images to load before displaying ajax loaded content.', 'ajax-load-more'); ?></p>
202
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/examples/images-loaded/" target="_blank"><?php _e('View Example', 'ajax-load-more'); ?></a></p>
203
  </div>
204
  <div class="shortcode-builder--fields alm-images-loaded">
205
  <div class="inner">
706
  <div class="shortcode-parameter-wrap">
707
  <h2 tabindex="0" class="shortcode-title"><i class="fa fa-database"></i><?php _e('Query Parameters', 'ajax-load-more'); ?></h2>
708
  <div class="section-wrap">
709
+
710
+ <p class="section-intro"><?php _e('Query Parameters allow you build a custom <b>WP_Query</b> based on Ajax Load More shortcode values.', 'ajax-load-more'); ?> <a href="javascript:void(0)" class="fa fa-question-circle tooltip" title="<?php _e('When using Ajax Load More add-ons or extensions not all Query Parameters will be available in the query.', 'ajax-load-more'); ?>"></a></p>
711
+
712
  <!-- Posts Per Page -->
713
  <div class="row input posts_per_page" id="alm-post-page">
714
  <h3 class="heading" tabindex="0"><?php _e('Posts Per Page', 'ajax-load-more'); ?></h3>
1025
  </section>
1026
  </div>
1027
  </div>
1028
+ <?php } ?>
1029
  <!-- End Taxonomies -->
1030
 
1031
  <!-- Meta_Query -->
1131
 
1132
  <!-- Search -->
1133
  <div class="row input search-term" id="alm-search">
1134
+ <h3 class="heading" tabindex="0"><?php _e('Search', 'ajax-load-more'); ?></h3>
1135
  <div class="expand-wrap">
1136
  <section>
1137
  <div class="shortcode-builder--label">
1138
  <p><?php _e('Enter a search term to query.', 'ajax-load-more'); ?></p>
1139
+ <p><?php _e('Search uses the default WordPress search, however Ajax Load More does offer integrations with SearchWP and Relevanssi.', 'ajax-load-more'); ?></p>
1140
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/examples/search-results/" target="_blank"><?php _e('View Example', 'ajax-load-more'); ?></a></p>
1141
  </div>
1142
  <div class="shortcode-builder--fields">
1143
  <div class="inner">
1168
  <div class="shortcode-builder--label">
1169
  <h4><?php _e('Exclude', 'ajax-load-more'); ?></h4>
1170
  <p><?php _e('A comma separated list of post ID\'s to exclude from query.', 'ajax-load-more'); ?></p>
1171
+ <p><a class="button-small" href="admin.php?page=ajax-load-more-help&section=examples#example-exclude" target="_blank"><?php _e('View Example', 'ajax-load-more'); ?></a></p>
1172
  </div>
1173
  <div class="shortcode-builder--fields">
1174
  <div class="inner">
1280
  </div>
1281
  <!-- End Query Parameters -->
1282
 
1283
+ <!-- ****************************** -->
1284
+
1285
+ <!-- Integrations -->
1286
+ <div class="shortcode-parameter-wrap">
1287
+ <h2 tabindex="0" class="shortcode-title"><i class="fa fa-handshake-o" aria-hidden="true"></i> <?php _e('Integrations', 'ajax-load-more'); ?></h2>
1288
+
1289
+ <div class="section-wrap">
1290
+
1291
+ <p class="section-intro"><?php _e('Ajax Load More provides integration solutions for popular plugins and core WP functionality - when selecting an integration, Ajax Load More will automatically set various parameters on the server side to provide the best experience for users based on the selected integration.', 'ajax-load-more'); ?></a></p>
1292
+
1293
+ <!-- Archives -->
1294
+ <div class="row input alm-archive" id="alm-archive">
1295
+ <h3 class="heading" tabindex="0"><?php _e('Archives', 'ajax-load-more'); ?></h3>
1296
+ <div class="expand-wrap">
1297
+ <section class="first">
1298
+ <div class="shortcode-builder--label">
1299
+ <p><?php _e('Ajax Load More will automatically create an archive query while viewing site archives.', 'ajax-load-more'); ?></p>
1300
+ <p><?php _e('Taxonomy, category, tag, date (year, month, day), post type and author archives are currently supported.', 'ajax-load-more'); ?></p>
1301
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/docs/archives/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a></p>
1302
+ </div>
1303
+ <div class="shortcode-builder--fields">
1304
+ <div class="inner">
1305
+ <ul>
1306
+ <li>
1307
+ <input class="alm_element" type="radio" name="archive" value="t" id="archive_t">
1308
+ <label for="archive_t"><?php _e('True', 'ajax-load-more'); ?></label>
1309
+ </li>
1310
+ <li>
1311
+ <input class="alm_element" type="radio" name="archive" value="f" id="archive_f" checked="checked">
1312
+ <label for="archive_f"><?php _e('False', 'ajax-load-more'); ?></label>
1313
+ </li>
1314
+ </ul>
1315
+ </div>
1316
+ </div>
1317
+ </section>
1318
+ <p class="warning-callout"><?php _e('<b>Note</b>: Do not select Query Parameters other than <b>Posts Per Page</b> and/or <b>Post Type</b> when using the Archives integration. Ajax Load More will automatically create the perfect shortcode for you based on the current archive page.', 'ajax-load-more'); ?></p>
1319
+ </div>
1320
+ </div>
1321
+
1322
+ <!-- WooCommerce -->
1323
+ <!--
1324
+ <div class="row input alm-woocommerce" id="alm-woocommerce">
1325
+ <h3 class="heading" tabindex="0"><?php _e('WooCommerce', 'ajax-load-more'); ?></h3>
1326
+ <div class="expand-wrap">
1327
+ <section class="first">
1328
+ <div class="shortcode-builder--label">
1329
+ <p><?php _e('Ajax Load More will automatically set WooCommerce configuration options.', 'ajax-load-more'); ?></p>
1330
+ <p><?php _e('Post type, products per page, container classes, sort order and taxonomy/tag archive queries will be set on the server side based on your sites WooCommerce configuration.', 'ajax-load-more'); ?></p>
1331
+ <p><a class="button-small" href="https://connekthq.com/plugins/ajax-load-more/docs/woocommerce/" target="_blank"><?php _e('View Docs', 'ajax-load-more'); ?></a></p>
1332
+ </div>
1333
+ <div class="shortcode-builder--fields">
1334
+ <div class="inner">
1335
+ <?php if( is_plugin_active('woocommerce/woocommerce.php') ) { ?>
1336
+ <ul>
1337
+ <li>
1338
+ <input class="alm_element" type="radio" name="woocommerce" value="t" id="woocommerce_t">
1339
+ <label for="woocommerce_t"><?php _e('True', 'ajax-load-more'); ?></label>
1340
+ </li>
1341
+ <li>
1342
+ <input class="alm_element" type="radio" name="woocommerce" value="f" id="woocommerce_f" checked="checked">
1343
+ <label for="woocommerce_f"><?php _e('False', 'ajax-load-more'); ?></label>
1344
+ </li>
1345
+ </ul>
1346
+ <?php } else { ?>
1347
+ <p class="highlight" style="font-size: 13px; border-radius: 3px; line-height: 1; padding: 6px;">WooCommerce is not installed.</p>
1348
+ <?php }?>
1349
+ </div>
1350
+ </div>
1351
+ </section>
1352
+ </div>
1353
+ </div>
1354
+ -->
1355
+
1356
+ </div>
1357
+ </div>
1358
 
1359
  <div class="clear"></div>
admin/src/js/admin.js CHANGED
@@ -213,21 +213,20 @@ jQuery(document).ready(function($) {
213
  $('.ajax-load-more-wrap.core').removeClass('fading-circles');
214
  $('.ajax-load-more-wrap.core').removeClass('chasing-arrows');
215
  $('.ajax-load-more-wrap.core').addClass(color);
216
-
217
  });
 
218
  $("select#alm_settings_btn_color").click(function(e){
219
  e.preventDefault();
220
  });
221
 
222
 
223
-
224
-
225
  $('.alm-template-listing li a').click(function(e){
226
  e.preventDefault();
227
  var el = $(this),
228
  val = el.data('path');
229
  el.parent().parent().next('.template-selection').val(val);
230
  });
 
231
 
232
  $('.alm-template-section-nav li a').click(function(e){
233
  e.preventDefault();
@@ -430,7 +429,6 @@ jQuery(document).ready(function($) {
430
  * Get layout value Ajax
431
  * @since 2.8.7
432
  */
433
- console.log(window.editorDefault);
434
  $(document).on('click', '.alm-layout-selection li a.layout', function(e){
435
  e.preventDefault();
436
  var el = $(this),
213
  $('.ajax-load-more-wrap.core').removeClass('fading-circles');
214
  $('.ajax-load-more-wrap.core').removeClass('chasing-arrows');
215
  $('.ajax-load-more-wrap.core').addClass(color);
 
216
  });
217
+
218
  $("select#alm_settings_btn_color").click(function(e){
219
  e.preventDefault();
220
  });
221
 
222
 
 
 
223
  $('.alm-template-listing li a').click(function(e){
224
  e.preventDefault();
225
  var el = $(this),
226
  val = el.data('path');
227
  el.parent().parent().next('.template-selection').val(val);
228
  });
229
+
230
 
231
  $('.alm-template-section-nav li a').click(function(e){
232
  e.preventDefault();
429
  * Get layout value Ajax
430
  * @since 2.8.7
431
  */
 
432
  $(document).on('click', '.alm-layout-selection li a.layout', function(e){
433
  e.preventDefault();
434
  var el = $(this),
admin/src/scss/admin.scss CHANGED
@@ -137,8 +137,6 @@ body.ajax-load-more_page_ajax-load-more-pro{
137
  */
138
 
139
  .ajax-load-more *{
140
- -webkit-box-sizing: border-box;
141
- -moz-box-sizing: border-box;
142
  box-sizing: border-box;
143
  }
144
  .forceColors{
@@ -716,8 +714,6 @@ a.button-small{
716
  clear: both;
717
  border-radius: 3px;
718
  color: $grey;
719
- -webkit-box-shadow: none;
720
- -moz-box-shadow: none;
721
  box-shadow: none;
722
  }
723
  .ajax-load-more input[type=checkbox],
@@ -741,8 +737,6 @@ a.button-small{
741
 
742
  .ajax-load-more label{
743
  padding: 5px 0;
744
- -webkit-border-radius: 0;
745
- -moz-border-radius: 0;
746
  border-radius: 0;
747
  }
748
 
@@ -942,8 +936,6 @@ a.button-small{
942
  .admin.ajax-load-more .repeaters .row:hover,
943
  .admin.ajax-load-more.shortcode-builder .row:hover{
944
  border-color: #d9d9d9;
945
- -webkit-box-shadow: 0 0 0 3px #f7f7f7;
946
- -moz-box-shadow: 0 0 0 3px #f7f7f7;
947
  box-shadow: 0 0 0 3px #f7f7f7;
948
  }
949
  .admin.ajax-load-more .row:first-of-type{
@@ -1153,8 +1145,6 @@ hr.indented{ // Indented as fake padding in shortcode builder
1153
  left: 0;
1154
  background: #FF5A58;
1155
  border-top: 1px solid #ca5252;
1156
- -webkit-box-shadow: 0 -5px 5px #efefef;
1157
- -moz-box-shadow: 0 -5px 5px #efefef;
1158
  box-shadow: 0 -5px 5px #efefef;
1159
  width: 100%;
1160
  display: block;
@@ -1167,8 +1157,6 @@ hr.indented{ // Indented as fake padding in shortcode builder
1167
  border-radius: 2px;
1168
  border: none;
1169
  padding: 0;
1170
- -webkit-box-shadow: none;
1171
- -moz-box-shadow: none;
1172
  box-shadow: none;
1173
  }
1174
  .ajax-load-more .row .wrap.output{
@@ -1984,8 +1972,6 @@ table.highlight{
1984
  .license-title .status{
1985
  width: 13px;
1986
  height: 13px;
1987
- -webkit-border-radius: 100%;
1988
- -moz-border-radius: 100%;
1989
  border-radius: 100%;
1990
  background: #d45656;
1991
  position: absolute;
@@ -2017,8 +2003,6 @@ table.highlight{
2017
  }
2018
  .license a.cnkt-button.installed{
2019
  background-color: none !important;
2020
- -webkit-box-shadow: none !important;
2021
- -moz-box-shadow: none !important;
2022
  box-shadow: none !important;
2023
  border-color: transparent !important;
2024
  }
@@ -2341,8 +2325,6 @@ table.highlight{
2341
  z-index: 2;
2342
  text-decoration: none;
2343
  line-height: 1;
2344
- -webkit-border-radius: 0 0 2px 2px;
2345
- -moz-border-radius: 0 0 2px 2px;
2346
  border-radius: 0 0 2px 2px;
2347
  }
2348
  .ajax-load-more .cnkt-sidebar a.visit i{
@@ -2403,9 +2385,6 @@ table.highlight{
2403
  */
2404
 
2405
 
2406
-
2407
-
2408
-
2409
  .shortcode-builder{
2410
  hr{
2411
  margin: 0;
@@ -2429,8 +2408,6 @@ table.highlight{
2429
 
2430
  .repeaters .row,
2431
  .shortcode-builder .row{
2432
- -webkit-transition: background-color 0.3s ease;
2433
- -moz-transition: background-color 0.3s ease;
2434
  transition: background-color 0.3s ease;
2435
  }
2436
  .repeaters .row.no-brd:hover,
@@ -2665,13 +2642,9 @@ table.highlight{
2665
  background-color: #c94141;
2666
  border-color: #c94141;
2667
  color: #fff;
2668
- -webkit-box-shadow: 0 0 3px #ccc;
2669
- -moz-box-shadow: 0 0 3px #ccc;
2670
  box-shadow: 0 0 3px #ccc;
2671
  }
2672
  .alm-dir-listing .dir-title .delete:active{
2673
- -webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
2674
- -moz-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
2675
  box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
2676
  }
2677
 
@@ -3500,8 +3473,6 @@ p.theme-title{
3500
  width: 40px;
3501
  text-align: center;
3502
  line-height: 40px;
3503
- -webkit-border-radius: 2px 0 0 2px;
3504
- -moz-border-radius: 2px 0 0 2px;
3505
  border-radius: 2px 0 0 2px;
3506
  }
3507
  #alm-mailing-list .form-wrap button{
@@ -3774,19 +3745,17 @@ p.theme-title{
3774
  top: -20px;
3775
  background: #fff;
3776
  color: #333;
3777
- width: 40px;
3778
- height: 40px;
3779
- line-height: 39px;
3780
  text-align: center;
3781
  z-index: 1;
3782
  font-weight: 700;
3783
- -webkit-border-radius: 100%;
3784
- -moz-border-radius: 100%;
3785
  border-radius: 100%;
3786
  text-transform: uppercase;
3787
  border: 1px solid #e1e1e1;
3788
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
3789
- font-size: 13px;
3790
  }
3791
  }
3792
 
137
  */
138
 
139
  .ajax-load-more *{
 
 
140
  box-sizing: border-box;
141
  }
142
  .forceColors{
714
  clear: both;
715
  border-radius: 3px;
716
  color: $grey;
 
 
717
  box-shadow: none;
718
  }
719
  .ajax-load-more input[type=checkbox],
737
 
738
  .ajax-load-more label{
739
  padding: 5px 0;
 
 
740
  border-radius: 0;
741
  }
742
 
936
  .admin.ajax-load-more .repeaters .row:hover,
937
  .admin.ajax-load-more.shortcode-builder .row:hover{
938
  border-color: #d9d9d9;
 
 
939
  box-shadow: 0 0 0 3px #f7f7f7;
940
  }
941
  .admin.ajax-load-more .row:first-of-type{
1145
  left: 0;
1146
  background: #FF5A58;
1147
  border-top: 1px solid #ca5252;
 
 
1148
  box-shadow: 0 -5px 5px #efefef;
1149
  width: 100%;
1150
  display: block;
1157
  border-radius: 2px;
1158
  border: none;
1159
  padding: 0;
 
 
1160
  box-shadow: none;
1161
  }
1162
  .ajax-load-more .row .wrap.output{
1972
  .license-title .status{
1973
  width: 13px;
1974
  height: 13px;
 
 
1975
  border-radius: 100%;
1976
  background: #d45656;
1977
  position: absolute;
2003
  }
2004
  .license a.cnkt-button.installed{
2005
  background-color: none !important;
 
 
2006
  box-shadow: none !important;
2007
  border-color: transparent !important;
2008
  }
2325
  z-index: 2;
2326
  text-decoration: none;
2327
  line-height: 1;
 
 
2328
  border-radius: 0 0 2px 2px;
2329
  }
2330
  .ajax-load-more .cnkt-sidebar a.visit i{
2385
  */
2386
 
2387
 
 
 
 
2388
  .shortcode-builder{
2389
  hr{
2390
  margin: 0;
2408
 
2409
  .repeaters .row,
2410
  .shortcode-builder .row{
 
 
2411
  transition: background-color 0.3s ease;
2412
  }
2413
  .repeaters .row.no-brd:hover,
2642
  background-color: #c94141;
2643
  border-color: #c94141;
2644
  color: #fff;
 
 
2645
  box-shadow: 0 0 3px #ccc;
2646
  }
2647
  .alm-dir-listing .dir-title .delete:active{
 
 
2648
  box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2);
2649
  }
2650
 
3473
  width: 40px;
3474
  text-align: center;
3475
  line-height: 40px;
 
 
3476
  border-radius: 2px 0 0 2px;
3477
  }
3478
  #alm-mailing-list .form-wrap button{
3745
  top: -20px;
3746
  background: #fff;
3747
  color: #333;
3748
+ width: 34px;
3749
+ height: 34px;
3750
+ line-height: 34px;
3751
  text-align: center;
3752
  z-index: 1;
3753
  font-weight: 700;
 
 
3754
  border-radius: 100%;
3755
  text-transform: uppercase;
3756
  border: 1px solid #e1e1e1;
3757
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
3758
+ font-size: 11px;
3759
  }
3760
  }
3761
 
admin/src/scss/partials/_shortcode-builder.scss CHANGED
@@ -1,4 +1,18 @@
1
  .shortcode-builder{
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  section{
3
  display: flex;
4
  flex-wrap: nowrap;
@@ -66,11 +80,12 @@
66
  padding-top: 22px;
67
  flex: 1;
68
  input, textarea, select{
69
- width: 100%;
70
  }
71
  section{
72
  width: 104%;
73
  margin-left: -2%;
 
74
  }
75
  .half{
76
  width: 50%;
@@ -176,4 +191,10 @@
176
  }
177
  }
178
  }
 
 
 
 
 
 
179
  }
1
  .shortcode-builder{
2
+
3
+ p.warning-callout{
4
+ &:before{
5
+ display: block;
6
+ width: calc(100% + 36px);
7
+ height: 1px;
8
+ content: '';
9
+ background: $light_border;
10
+ position: absolute;
11
+ left: -18px;
12
+ top: -10px;
13
+ z-index: 1;
14
+ }
15
+ }
16
  section{
17
  display: flex;
18
  flex-wrap: nowrap;
80
  padding-top: 22px;
81
  flex: 1;
82
  input, textarea, select{
83
+ width: 100%;
84
  }
85
  section{
86
  width: 104%;
87
  margin-left: -2%;
88
+ border: none;
89
  }
90
  .half{
91
  width: 50%;
191
  }
192
  }
193
  }
194
+ .section-intro{
195
+ font-size: 13px;
196
+ padding: 20px 5px 20px;
197
+ margin: 0 0 20px;
198
+ border-bottom: 1px solid $light_border;
199
+ }
200
  }
admin/views/licenses.php CHANGED
@@ -9,63 +9,63 @@
9
  <?php echo ALM_TITLE; ?>: <strong><?php echo $pg_title; ?></strong>
10
  <em><?php echo $pg_desc; ?>.</em>
11
  </h1>
12
- <?php alm_render_transient_notification(); ?>
13
  </header>
14
-
15
  <div class="ajax-load-more-inner-wrapper">
16
-
17
  <div class="cnkt-main">
18
-
19
- <h3><?php
20
  if(has_action('alm_pro_installed')){
21
- _e('License Key', 'ajax-load-more');
22
  } else {
23
- _e('License Keys', 'ajax-load-more');
24
  }
25
  ?></h3>
26
 
27
  <p>
28
- <?php
29
  if(has_action('alm_pro_installed')){
30
- _e('Enter your Ajax Load More Pro license key to receive plugin update notifications directly within the <a href="plugins.php">WP Plugins dashboard</a>.', 'ajax-load-more');
31
  } else {
32
- _e('Enter a key for each of your Ajax Load More add-ons to receive plugin update notifications directly within the <a href="plugins.php">WP Plugins dashboard</a>.', 'ajax-load-more');
33
  }
34
  ?>
35
- </p>
36
-
37
- <?php
38
-
39
- $addons = (has_action('alm_pro_installed')) ? alm_get_pro_addon() : alm_get_addons();
40
  $addon_count = 0;
41
-
42
- foreach($addons as $addon){
43
-
44
  $name = $addon['name'];
45
  $intro = $addon['intro'];
46
  $desc = $addon['desc'];
47
  $action = $addon['action'];
48
  $key = $addon['key'];
49
- $license = get_option($key);
50
  $status = $addon['status'];
51
  $settings_field = $addon['settings_field'];
52
  $url = $addon['url'];
53
- $img = $addon['img'];
54
  $item_id = $addon['item_id'];
55
-
56
-
57
  // If installed
58
  if(!has_action($action)){
59
- continue;
60
  }
61
-
62
- $addon_count++;
63
-
64
  // Check license
65
  $license_status = alm_license_check($item_id, $license, $status);
66
-
67
- ?>
68
-
69
  <div class="license" id="license-<?php echo sanitize_title_with_dashes($name); ?>">
70
  <div class="license-title">
71
  <div class="status <?php echo ($license_status === 'valid') ? 'valid' : 'invalid'; ?> "></div>
@@ -73,7 +73,7 @@
73
  </div>
74
  <div class="license-wrap">
75
  <form method="post" action="options.php">
76
-
77
  <?php if( $license_status !== false && $license_status == 'valid' ) { ?>
78
  <!-- nothing -->
79
  <?php } else { ?>
@@ -81,10 +81,10 @@
81
  <h4><?php _e('Don\'t have a license?', 'ajax-load-more'); ?></h4>
82
  <p><?php _e('A valid license is required to activate and receive plugin updates directly in your WordPress dashboard', 'ajax-load-more'); ?> &rarr; <a href="<?php echo $url; ?>?utm_source=WP%20Admin&utm_medium=Licenses&utm_campaign=<?php echo $name; ?>" target="blank"><strong><?php _e('Purchase Now', 'ajax-load-more'); ?>!</strong></a></p>
83
  </div>
84
- <?php } ?>
85
-
86
- <?php settings_fields($settings_field); ?>
87
-
88
  <label class="description offscreen" for="<?php echo $key; ?>"><?php _e('Enter License Key', 'ajax-load-more'); ?></label>
89
  <div class="license-key-field">
90
  <input id="<?php echo $key; ?>" name="<?php echo $key; ?>" type="text" class="regular-text" value="<?php esc_attr_e( $license ); ?>" placeholder="<?php _e('Enter License Key', 'ajax-load-more'); ?>" />
@@ -94,22 +94,22 @@
94
  </span>
95
  <?php } else { ?>
96
  <span class="status inactive">
97
- <?php
98
  if($license_status === 'expired'){
99
- _e('Expired', 'ajax-load-more');
100
  }else{
101
- _e('Inactive', 'ajax-load-more');
102
  }
103
  ?>
104
  </span>
105
  <?php } ?>
106
- </div>
107
-
108
- <?php
109
- $nonce = 'alm_'. $item_id .'_license_nonce';
110
- wp_nonce_field( $nonce, $nonce );
111
  ?>
112
-
113
  <div class="license-btn-wrap"
114
  data-name="<?php echo $item_id; ?>"
115
  data-url="<?php echo ALM_STORE_URL; ?>"
@@ -125,7 +125,7 @@
125
  <button type="button" class="check-licence license-btn <?php if($license_status !== 'valid'){ echo 'hide'; } ?> button button-secondary" data-type="check">
126
  <i class="fa fa-refresh" aria-hidden="true"></i> <?php _e('Refresh Status', 'ajax-load-more'); ?>
127
  </button>
128
- <?php if($license_status === 'expired'){
129
  if(isset($license) && !empty($license)){
130
  $store = ALM_STORE_URL;
131
  $url = "{$store}/checkout/?edd_license_key={$license}&download_id={$item_id}";
@@ -134,25 +134,25 @@
134
  <a class="button renew-btn" href="<?php echo $url; ?>" target="_blank">
135
  <?php _e('Renew License', 'ajax-load-more'); ?></a>
136
  <?php } ?>
137
- </div>
138
  </form>
139
  </div>
140
  <div class="loading"></div>
141
- </div>
142
  <?php } unset($addons); ?>
143
-
144
- <?php
145
- // No add-ons installed
146
- if($addon_count == 0) :
147
  ?>
148
  <div class="spacer"></div>
149
  <div class="license-no-addons">
150
  <p><?php _e('You do not have any Ajax Load More add-ons installed', 'ajax-load-more'); ?> | <a href="admin.php?page=ajax-load-more-add-ons"><strong><?php _e('Browse Add-ons', 'ajax-load-more'); ?></strong></a> | <a href="https://connekthq.com/plugins/ajax-load-more/pro/" target="_blank"><strong><?php _e('Go Pro', 'ajax-load-more'); ?></strong></a></p>
151
  </div>
152
- <?php endif; ?>
153
-
154
  </div>
155
-
156
  <aside class="cnkt-sidebar">
157
  <div id="cnkt-sticky-wrapper">
158
  <div id="cnkt-sticky">
@@ -164,7 +164,7 @@
164
  <li><?php _e('If you cannot locate your key please open a support ticket by filling out the <a href="https://connekthq.com/contact/">support form</a> and reference the email address used when you completed the purchase.', 'ajax-load-more'); ?></li>
165
  <li>
166
  <strong><?php _e('Are you having issues updating an add-on?', 'ajax-load-more'); ?></strong><br/>
167
- <?php _e('Please try deactivating and then re-activating each license. Once youve done that, try running the update again.', 'ajax-load-more'); ?></li>
168
  </ul>
169
  </div>
170
  <div class="major-publishing-actions">
@@ -176,8 +176,8 @@
176
  </div>
177
  </div>
178
  </div>
179
-
180
- <div class="clear"></div>
181
  </aside>
182
 
183
  </div>
9
  <?php echo ALM_TITLE; ?>: <strong><?php echo $pg_title; ?></strong>
10
  <em><?php echo $pg_desc; ?>.</em>
11
  </h1>
12
+ <?php alm_render_transient_notification(); ?>
13
  </header>
14
+
15
  <div class="ajax-load-more-inner-wrapper">
16
+
17
  <div class="cnkt-main">
18
+
19
+ <h3><?php
20
  if(has_action('alm_pro_installed')){
21
+ _e('License Key', 'ajax-load-more');
22
  } else {
23
+ _e('License Keys', 'ajax-load-more');
24
  }
25
  ?></h3>
26
 
27
  <p>
28
+ <?php
29
  if(has_action('alm_pro_installed')){
30
+ _e('Enter your Ajax Load More Pro license key to receive plugin update notifications directly within the <a href="plugins.php">WP Plugins dashboard</a>.', 'ajax-load-more');
31
  } else {
32
+ _e('Enter a key for each of your Ajax Load More add-ons to receive plugin update notifications directly within the <a href="plugins.php">WP Plugins dashboard</a>.', 'ajax-load-more');
33
  }
34
  ?>
35
+ </p>
36
+
37
+ <?php
38
+
39
+ $addons = (has_action('alm_pro_installed')) ? alm_get_pro_addon() : alm_get_addons();
40
  $addon_count = 0;
41
+
42
+ foreach($addons as $addon){
43
+
44
  $name = $addon['name'];
45
  $intro = $addon['intro'];
46
  $desc = $addon['desc'];
47
  $action = $addon['action'];
48
  $key = $addon['key'];
49
+ $license = get_option($key);
50
  $status = $addon['status'];
51
  $settings_field = $addon['settings_field'];
52
  $url = $addon['url'];
53
+ $img = $addon['img'];
54
  $item_id = $addon['item_id'];
55
+
56
+
57
  // If installed
58
  if(!has_action($action)){
59
+ continue;
60
  }
61
+
62
+ $addon_count++;
63
+
64
  // Check license
65
  $license_status = alm_license_check($item_id, $license, $status);
66
+
67
+ ?>
68
+
69
  <div class="license" id="license-<?php echo sanitize_title_with_dashes($name); ?>">
70
  <div class="license-title">
71
  <div class="status <?php echo ($license_status === 'valid') ? 'valid' : 'invalid'; ?> "></div>
73
  </div>
74
  <div class="license-wrap">
75
  <form method="post" action="options.php">
76
+
77
  <?php if( $license_status !== false && $license_status == 'valid' ) { ?>
78
  <!-- nothing -->
79
  <?php } else { ?>
81
  <h4><?php _e('Don\'t have a license?', 'ajax-load-more'); ?></h4>
82
  <p><?php _e('A valid license is required to activate and receive plugin updates directly in your WordPress dashboard', 'ajax-load-more'); ?> &rarr; <a href="<?php echo $url; ?>?utm_source=WP%20Admin&utm_medium=Licenses&utm_campaign=<?php echo $name; ?>" target="blank"><strong><?php _e('Purchase Now', 'ajax-load-more'); ?>!</strong></a></p>
83
  </div>
84
+ <?php } ?>
85
+
86
+ <?php settings_fields($settings_field); ?>
87
+
88
  <label class="description offscreen" for="<?php echo $key; ?>"><?php _e('Enter License Key', 'ajax-load-more'); ?></label>
89
  <div class="license-key-field">
90
  <input id="<?php echo $key; ?>" name="<?php echo $key; ?>" type="text" class="regular-text" value="<?php esc_attr_e( $license ); ?>" placeholder="<?php _e('Enter License Key', 'ajax-load-more'); ?>" />
94
  </span>
95
  <?php } else { ?>
96
  <span class="status inactive">
97
+ <?php
98
  if($license_status === 'expired'){
99
+ _e('Expired', 'ajax-load-more');
100
  }else{
101
+ _e('Inactive', 'ajax-load-more');
102
  }
103
  ?>
104
  </span>
105
  <?php } ?>
106
+ </div>
107
+
108
+ <?php
109
+ $nonce = 'alm_'. $item_id .'_license_nonce';
110
+ wp_nonce_field( $nonce, $nonce );
111
  ?>
112
+
113
  <div class="license-btn-wrap"
114
  data-name="<?php echo $item_id; ?>"
115
  data-url="<?php echo ALM_STORE_URL; ?>"
125
  <button type="button" class="check-licence license-btn <?php if($license_status !== 'valid'){ echo 'hide'; } ?> button button-secondary" data-type="check">
126
  <i class="fa fa-refresh" aria-hidden="true"></i> <?php _e('Refresh Status', 'ajax-load-more'); ?>
127
  </button>
128
+ <?php if($license_status === 'expired'){
129
  if(isset($license) && !empty($license)){
130
  $store = ALM_STORE_URL;
131
  $url = "{$store}/checkout/?edd_license_key={$license}&download_id={$item_id}";
134
  <a class="button renew-btn" href="<?php echo $url; ?>" target="_blank">
135
  <?php _e('Renew License', 'ajax-load-more'); ?></a>
136
  <?php } ?>
137
+ </div>
138
  </form>
139
  </div>
140
  <div class="loading"></div>
141
+ </div>
142
  <?php } unset($addons); ?>
143
+
144
+ <?php
145
+ // No add-ons installed
146
+ if($addon_count == 0) :
147
  ?>
148
  <div class="spacer"></div>
149
  <div class="license-no-addons">
150
  <p><?php _e('You do not have any Ajax Load More add-ons installed', 'ajax-load-more'); ?> | <a href="admin.php?page=ajax-load-more-add-ons"><strong><?php _e('Browse Add-ons', 'ajax-load-more'); ?></strong></a> | <a href="https://connekthq.com/plugins/ajax-load-more/pro/" target="_blank"><strong><?php _e('Go Pro', 'ajax-load-more'); ?></strong></a></p>
151
  </div>
152
+ <?php endif; ?>
153
+
154
  </div>
155
+
156
  <aside class="cnkt-sidebar">
157
  <div id="cnkt-sticky-wrapper">
158
  <div id="cnkt-sticky">
164
  <li><?php _e('If you cannot locate your key please open a support ticket by filling out the <a href="https://connekthq.com/contact/">support form</a> and reference the email address used when you completed the purchase.', 'ajax-load-more'); ?></li>
165
  <li>
166
  <strong><?php _e('Are you having issues updating an add-on?', 'ajax-load-more'); ?></strong><br/>
167
+ <?php _e('Please try deactivating and then re-activating each license. Once you\'ve done that, try running the update again.', 'ajax-load-more'); ?></li>
168
  </ul>
169
  </div>
170
  <div class="major-publishing-actions">
176
  </div>
177
  </div>
178
  </div>
179
+
180
+ <div class="clear"></div>
181
  </aside>
182
 
183
  </div>
admin/views/settings.php CHANGED
@@ -68,7 +68,7 @@
68
 
69
  </div>
70
  <aside class="cnkt-sidebar">
71
- <?php include_once( ALM_PATH . 'admin/includes/cta/sharing.php'); ?>
72
  <?php //include_once( ALM_PATH . 'admin/includes/cta/test.php'); ?>
73
  <?php include_once( ALM_PATH . 'admin/includes/cta/resources.php'); ?>
74
  <?php include_once( ALM_PATH . 'admin/includes/cta/dyk.php'); ?>
68
 
69
  </div>
70
  <aside class="cnkt-sidebar">
71
+ <?php //include_once( ALM_PATH . 'admin/includes/cta/sharing.php'); ?>
72
  <?php //include_once( ALM_PATH . 'admin/includes/cta/test.php'); ?>
73
  <?php include_once( ALM_PATH . 'admin/includes/cta/resources.php'); ?>
74
  <?php include_once( ALM_PATH . 'admin/includes/cta/dyk.php'); ?>
ajax-load-more.php CHANGED
@@ -7,14 +7,14 @@ Text Domain: ajax-load-more
7
  Author: Darren Cooney
8
  Twitter: @KaptonKaos
9
  Author URI: https://connekthq.com
10
- Version: 5.1.7.2
11
  License: GPL
12
  Copyright: Darren Cooney & Connekt Media
13
  */
14
 
15
 
16
- define('ALM_VERSION', '5.1.7.2');
17
- define('ALM_RELEASE', 'January 25, 2020');
18
  define('ALM_STORE_URL', 'https://connekthq.com');
19
 
20
 
@@ -265,15 +265,16 @@ if( !class_exists('AjaxLoadMore') ):
265
 
266
  include_once( ALM_PATH . 'core/functions.php'); // Load Core Functions
267
  include_once( ALM_PATH . 'core/classes/class.alm-shortcode.php'); // Load Shortcode Class
 
268
  include_once( ALM_PATH . 'core/classes/class.alm-enqueue.php'); // Load Enqueue Class
269
  include_once( ALM_PATH . 'core/classes/class.alm-queryargs.php'); // Load Query Args Class
270
  include_once( ALM_PATH . 'core/classes/class.alm-localize.php'); // Load Localize Class
271
 
272
  if( is_admin() ){
273
- include_once('admin/editor/editor.php');
274
- include_once('admin/admin.php');
275
- include_once('admin/admin-functions.php');
276
- include_once('vendor/connekt-plugin-installer/class-connekt-plugin-installer.php');
277
  if( !class_exists( 'EDD_SL_Plugin_Updater' ) ) {
278
  include( dirname( __FILE__ ) . '/vendor/EDD_SL_Plugin_Updater.php' );
279
  }
@@ -392,12 +393,11 @@ if( !class_exists('AjaxLoadMore') ):
392
  'scrolltop' => $scrolltop,
393
  'speed' => apply_filters('alm_speed', 200),
394
  'ga_debug' => apply_filters('alm_ga_debug', 'false'),
395
- 'results_text' => apply_filters('alm_display_results', __('Displaying page {num} of {total}.', 'ajax-load-more')),
396
  'no_results_text' => apply_filters('alm_no_results_text', __('No results found.', 'ajax-load-more')),
397
  'alm_debug' => apply_filters('alm_debug', false)
398
  )
399
  );
400
-
401
  }
402
 
403
 
7
  Author: Darren Cooney
8
  Twitter: @KaptonKaos
9
  Author URI: https://connekthq.com
10
+ Version: 5.2.0
11
  License: GPL
12
  Copyright: Darren Cooney & Connekt Media
13
  */
14
 
15
 
16
+ define('ALM_VERSION', '5.2.0');
17
+ define('ALM_RELEASE', 'March 13, 2020');
18
  define('ALM_STORE_URL', 'https://connekthq.com');
19
 
20
 
265
 
266
  include_once( ALM_PATH . 'core/functions.php'); // Load Core Functions
267
  include_once( ALM_PATH . 'core/classes/class.alm-shortcode.php'); // Load Shortcode Class
268
+ include_once( ALM_PATH . 'core/classes/class.alm-woocommerce.php'); // Load Woocommerce Class
269
  include_once( ALM_PATH . 'core/classes/class.alm-enqueue.php'); // Load Enqueue Class
270
  include_once( ALM_PATH . 'core/classes/class.alm-queryargs.php'); // Load Query Args Class
271
  include_once( ALM_PATH . 'core/classes/class.alm-localize.php'); // Load Localize Class
272
 
273
  if( is_admin() ){
274
+ require_once('admin/editor/editor.php');
275
+ require_once('admin/admin.php');
276
+ require_once('admin/admin-functions.php');
277
+ require_once('vendor/connekt-plugin-installer/class-connekt-plugin-installer.php');
278
  if( !class_exists( 'EDD_SL_Plugin_Updater' ) ) {
279
  include( dirname( __FILE__ ) . '/vendor/EDD_SL_Plugin_Updater.php' );
280
  }
393
  'scrolltop' => $scrolltop,
394
  'speed' => apply_filters('alm_speed', 200),
395
  'ga_debug' => apply_filters('alm_ga_debug', 'false'),
396
+ 'results_text' => apply_filters('alm_display_results', __('Viewing {post_count} of {total_posts} results.', 'ajax-load-more')),
397
  'no_results_text' => apply_filters('alm_no_results_text', __('No results found.', 'ajax-load-more')),
398
  'alm_debug' => apply_filters('alm_debug', false)
399
  )
400
  );
 
401
  }
402
 
403
 
core/classes/class.alm-shortcode.php CHANGED
@@ -96,7 +96,7 @@ if( !class_exists('ALM_SHORTCODE') ):
96
  'filters_debug' => false,
97
  'term_query' => false,
98
  'term_query_taxonomy' => '',
99
- 'term_query_fields' => 'all',
100
  'term_query_number' => '5',
101
  'acf' => false,
102
  'acf_post_id' => '',
@@ -140,6 +140,7 @@ if( !class_exists('ALM_SHORTCODE') ):
140
  'single_post_taxonomy' => '',
141
  'single_post_excluded_terms' => '',
142
  'single_post_progress_bar' => '',
 
143
  'cache' => 'false',
144
  'cache_id' => '',
145
  'paging' => 'false',
@@ -217,15 +218,17 @@ if( !class_exists('ALM_SHORTCODE') ):
217
  'loading_style' => '',
218
  'id' => '',
219
  'primary' => false,
 
 
 
220
  'woocommerce' => false,
221
  'elementor' => false,
222
- 'no_results_text' => '',
223
- 'placeholder' => ''
224
  ), $atts));
225
 
226
 
227
  // Elementor
228
- if($elementor === 'true'){
 
229
  // If Elementor && not on a singular page, exit ALM.
230
  if(!is_singular($post_type)){
231
  return false;
@@ -233,6 +236,14 @@ if( !class_exists('ALM_SHORTCODE') ):
233
  $container_element = 'div';
234
  $offset = '1';
235
  }