The Post Grid - Version 3.1.2

Version Description

  • Added: No post found message in Isotope
Download this release

Release Info

Developer techlabpro1
Plugin Icon 128x128 The Post Grid
Version 3.1.2
Comparing to
See all releases

Code changes from version 3.1.1 to 3.1.2

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link:
4
  Tags: post grid, content grid, post display, post format, post view, blog display, news display, post
5
  Requires at least: 4.5
6
  Tested up to: 5.8.2
7
- Stable tag: 3.1.1
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -151,6 +151,9 @@ For any bug or suggestion please mail support@radiustheme.com
151
 
152
  == Changelog ==
153
 
 
 
 
154
  = 3.1.1 =
155
  * Fixed Grid Column Issue in Small Device
156
  * Fixed Radio Field Selection Issue
4
  Tags: post grid, content grid, post display, post format, post view, blog display, news display, post
5
  Requires at least: 4.5
6
  Tested up to: 5.8.2
7
+ Stable tag: 3.1.2
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
151
 
152
  == Changelog ==
153
 
154
+ = 3.1.2 =
155
+ * Added: No post found message in Isotope
156
+
157
  = 3.1.1 =
158
  * Fixed Grid Column Issue in Small Device
159
  * Fixed Radio Field Selection Issue
assets/css/thepostgrid.css CHANGED
@@ -3404,4 +3404,12 @@ body > .rt-tooltip .rt-tooltip-bottom:after {
3404
  color: #ffffff;
3405
  text-align: center;
3406
  overflow: hidden;
 
 
 
 
 
 
 
 
3407
  }
3404
  color: #ffffff;
3405
  text-align: center;
3406
  overflow: hidden;
3407
+ }
3408
+
3409
+ .isotope-term-no-post {
3410
+ min-height: 30px;
3411
+ }
3412
+ .isotope-term-no-post p {
3413
+ margin-bottom: 0;
3414
+ display: none;
3415
  }
assets/js/rttpg.js CHANGED
@@ -60,6 +60,14 @@
60
  container.trigger('tpg_item_after_load');
61
  }, 100);
62
  });
 
 
 
 
 
 
 
 
63
  // use value of search field to filter
64
  var $quicksearch = container.find('.iso-search-input').keyup(debounce(function () {
65
  qsRegex = new RegExp($quicksearch.val(), 'gi');
@@ -75,6 +83,7 @@
75
  IsotopeWrap.isotope();
76
  $(this).parent().find('.selected').removeClass('selected');
77
  $(this).addClass('selected');
 
78
  }
79
  });
80
  if (IsoURL) {
@@ -100,7 +109,6 @@
100
 
101
  $(window).on('load resize', function () {
102
  tpgBottomScriptLoader();
103
- //HeightResize();
104
  overlayIconResizeTpg();
105
  });
106
 
@@ -165,7 +173,6 @@
165
  }
166
 
167
  function preFunction() {
168
- //HeightResize();
169
  overlayIconResizeTpg();
170
  }
171
 
@@ -174,42 +181,6 @@
174
  $(this).removeAttr("href");
175
  });
176
 
177
- function HeightResize() {
178
- var wWidth = $(window).width();
179
- tpgFixLazyLoad();
180
- $(".rt-tpg-container").each(function () {
181
- var self = $(this),
182
- dCol = self.data('desktop-col'),
183
- tCol = self.data('tab-col'),
184
- mCol = self.data('mobile-col'),
185
- target = $(this).find('.rt-row.rt-content-loader.tpg-even');
186
- if ((wWidth >= 992 && dCol > 1) || (wWidth >= 768 && tCol > 1) || (wWidth < 768 && mCol > 1)) {
187
- target.imagesLoaded(function () {
188
- var tlpMaxH = 0;
189
- target.find('.even-grid-item').height('auto');
190
- target.find('.even-grid-item').each(function () {
191
- var $thisH = $(this).outerHeight();
192
- if ($thisH > tlpMaxH) {
193
- tlpMaxH = $thisH;
194
- }
195
- });
196
- target.find('.even-grid-item').height(tlpMaxH + "px");
197
- });
198
- } else {
199
- target.find('.even-grid-item').height('auto');
200
- }
201
-
202
- });
203
- if ($(".rt-row.rt-content-loader.layout4").length) {
204
- equalHeight4Layout4();
205
- }
206
-
207
- function equalHeight4Layout4() {
208
- var $maxH = $(".rt-row.rt-content-loader.layout4 .layout4item").height();
209
- $(".rt-row.rt-content-loader.layout4 .layout4item .layoutInner .rt-img-holder img,.rt-row.rt-content-loader.layout4 .layout4item .layoutInner.layoutInner-content").height($maxH + "px");
210
- }
211
- }
212
-
213
  function overlayIconResizeTpg() {
214
  $('.overlay').each(function () {
215
  var holder_height = jQuery(this).height();
60
  container.trigger('tpg_item_after_load');
61
  }, 100);
62
  });
63
+
64
+ IsotopeWrap.on('arrangeComplete', function (event, filteredItems) {
65
+ if ($(".isotope-item", IsotopeWrap).is(":visible")) {
66
+ IsotopeWrap.parent().find('.isotope-term-no-post p').hide();
67
+ } else {
68
+ IsotopeWrap.parent().find('.isotope-term-no-post p').show();
69
+ }
70
+ });
71
  // use value of search field to filter
72
  var $quicksearch = container.find('.iso-search-input').keyup(debounce(function () {
73
  qsRegex = new RegExp($quicksearch.val(), 'gi');
83
  IsotopeWrap.isotope();
84
  $(this).parent().find('.selected').removeClass('selected');
85
  $(this).addClass('selected');
86
+
87
  }
88
  });
89
  if (IsoURL) {
109
 
110
  $(window).on('load resize', function () {
111
  tpgBottomScriptLoader();
 
112
  overlayIconResizeTpg();
113
  });
114
 
173
  }
174
 
175
  function preFunction() {
 
176
  overlayIconResizeTpg();
177
  }
178
 
181
  $(this).removeAttr("href");
182
  });
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  function overlayIconResizeTpg() {
185
  $('.overlay').each(function () {
186
  var holder_height = jQuery(this).height();
languages/the-post-grid.pot CHANGED
@@ -673,27 +673,27 @@ msgstr ""
673
  msgid "Loading ..."
674
  msgstr ""
675
 
676
- #: ../lib/classes/rtTPGPreview.php:939, ../lib/classes/rtTPGShortCode.php:980
677
  msgid "No post found"
678
  msgstr ""
679
 
680
- #: ../lib/classes/rtTPGPreview.php:823, ../lib/classes/rtTPGShortCode.php:870
681
  msgid "Search"
682
  msgstr ""
683
 
684
- #: ../lib/classes/rtTPGPreview.php:973, ../lib/classes/rtTPGPreview.php:968, ../lib/classes/rtTPGShortCode.php:1006
685
  msgid "Load More"
686
  msgstr ""
687
 
688
- #: ../lib/classes/rtTPGShortCode.php:1044
689
  msgid "No shortCode found"
690
  msgstr ""
691
 
692
- #: ../lib/classes/rtTPGShortCode.php:1063
693
  msgid "This is a restricted content, you need to logged in to view this content."
694
  msgstr ""
695
 
696
- #: ../lib/classes/rtTPGShortCode.php:1058
697
  msgid "You are not permitted to view this content."
698
  msgstr ""
699
 
673
  msgid "Loading ..."
674
  msgstr ""
675
 
676
+ #: ../lib/classes/rtTPGPreview.php:939, ../lib/classes/rtTPGShortCode.php:981, ../lib/classes/rtTPGShortCode.php:967
677
  msgid "No post found"
678
  msgstr ""
679
 
680
+ #: ../lib/classes/rtTPGPreview.php:823, ../lib/classes/rtTPGShortCode.php:869
681
  msgid "Search"
682
  msgstr ""
683
 
684
+ #: ../lib/classes/rtTPGPreview.php:973, ../lib/classes/rtTPGPreview.php:968, ../lib/classes/rtTPGShortCode.php:1007
685
  msgid "Load More"
686
  msgstr ""
687
 
688
+ #: ../lib/classes/rtTPGShortCode.php:1045
689
  msgid "No shortCode found"
690
  msgstr ""
691
 
692
+ #: ../lib/classes/rtTPGShortCode.php:1064
693
  msgid "This is a restricted content, you need to logged in to view this content."
694
  msgstr ""
695
 
696
+ #: ../lib/classes/rtTPGShortCode.php:1059
697
  msgid "You are not permitted to view this content."
698
  msgstr ""
699
 
lib/classes/rtTPGHelper.php CHANGED
@@ -525,7 +525,13 @@ if ( ! class_exists( 'rtTPGHelper' ) ):
525
  $imgSrc = $matches[1][0];
526
  $size = '';
527
 
528
- $imgAbs = str_replace( trailingslashit( site_url() ), ABSPATH, $imgSrc );
 
 
 
 
 
 
529
 
530
  if ( file_exists( $imgAbs ) ) {
531
  $info = getimagesize( $imgAbs );
525
  $imgSrc = $matches[1][0];
526
  $size = '';
527
 
528
+ if (strpos($imgSrc, site_url()) !== false) {
529
+ $imgAbs = str_replace( trailingslashit( site_url() ), ABSPATH, $imgSrc );
530
+ } else {
531
+ $imgAbs = ABSPATH.$imgSrc;
532
+ }
533
+
534
+ $imgAbs = apply_filters('rt_tpg_sc_first_image_src', $imgAbs);
535
 
536
  if ( file_exists( $imgAbs ) ) {
537
  $info = getimagesize( $imgAbs );
lib/classes/rtTPGNotice.php CHANGED
@@ -7,19 +7,28 @@ if ( ! class_exists( 'rtTPGNotice' ) ):
7
 
8
  class rtTPGNotice {
9
  public function __construct() {
10
- add_action( 'admin_init', function () {
11
- $current = time();
12
- if ( mktime( 0, 0, 0, 11, 22, 2021 ) <= $current && $current <= mktime( 0, 0, 0, 12, 6, 2021 ) ) {
13
- if ( get_option( 'rttpg_bf_2021' ) != '1' ) {
14
- if ( ! isset( $GLOBALS['rt_tpg_2021_notice'] ) ) {
15
- $GLOBALS['rt_tpg_2021_notice'] = 'rttpg_bf_2021';
16
- self::notice();
17
- }
18
- }
19
- }
20
- } );
21
  }
22
 
 
 
 
 
 
 
 
 
 
23
  static function notice() {
24
 
25
  add_action( 'admin_enqueue_scripts', function () {
@@ -78,6 +87,212 @@ if ( ! class_exists( 'rtTPGNotice' ) ):
78
  wp_die();
79
  } );
80
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
  endif;
7
 
8
  class rtTPGNotice {
9
  public function __construct() {
10
+
11
+ $current = time();
12
+ $black_friday = mktime(0, 0, 0, 11, 22, 2021) <= $current && $current <= mktime(0, 0, 0, 12, 6, 2021);
13
+
14
+ if ($black_friday) {
15
+ add_action( 'admin_init', [$this, 'black_friday_notice']);
16
+ } else {
17
+ register_activation_hook( RT_THE_POST_GRID_PLUGIN_ACTIVE_FILE_NAME, [$this, 'rttpg_activation_time'] );
18
+ add_action( 'admin_init', [$this, 'rttpg_check_installation_time'] );
19
+ add_action( 'admin_init', [__CLASS__, 'rttpg_spare_me'], 5 );
20
+ }
21
  }
22
 
23
+ public static function black_friday_notice() {
24
+ if ( get_option( 'rttpg_bf_2021' ) != '1' ) {
25
+ if ( ! isset( $GLOBALS['rt_tpg_2021_notice'] ) ) {
26
+ $GLOBALS['rt_tpg_2021_notice'] = 'rttpg_bf_2021';
27
+ self::notice();
28
+ }
29
+ }
30
+ }
31
+
32
  static function notice() {
33
 
34
  add_action( 'admin_enqueue_scripts', function () {
87
  wp_die();
88
  } );
89
  }
90
+
91
+ // add plugin activation time
92
+ public static function rttpg_activation_time() {
93
+ $get_activation_time = strtotime( "now" );
94
+ add_option( 'rttpg_plugin_activation_time', $get_activation_time );
95
+ }
96
+
97
+ //check if review notice should be shown or not
98
+ public static function rttpg_check_installation_time() {
99
+
100
+ // Added Lines Start
101
+ $nobug = get_option( 'rttpg_spare_me', "0");
102
+
103
+ if ($nobug == "1" || $nobug == "3") {
104
+ return;
105
+ }
106
+
107
+ $install_date = get_option( 'rttpg_plugin_activation_time' );
108
+ $past_date = strtotime( '-10 days' );
109
+
110
+ $remind_time = get_option( 'rttpg_remind_me' );
111
+ $remind_due = strtotime( '+15 days', $remind_time );
112
+ $now = strtotime( "now" );
113
+
114
+ if ( $now >= $remind_due ) {
115
+ add_action( 'admin_notices', [__CLASS__, 'rttpg_display_admin_notice']);
116
+ } else if (($past_date >= $install_date) && $nobug !== "2") {
117
+ add_action( 'admin_notices', [__CLASS__, 'rttpg_display_admin_notice']);
118
+ }
119
+ }
120
+
121
+ /**
122
+ * Display Admin Notice, asking for a review
123
+ **/
124
+ public static function rttpg_display_admin_notice() {
125
+ // wordpress global variable
126
+ global $pagenow;
127
+
128
+ $exclude = [ 'themes.php', 'users.php', 'tools.php', 'options-general.php', 'options-writing.php', 'options-reading.php', 'options-discussion.php', 'options-media.php', 'options-permalink.php', 'options-privacy.php', 'edit-comments.php', 'upload.php', 'media-new.php', 'admin.php', 'import.php', 'export.php', 'site-health.php', 'export-personal-data.php', 'erase-personal-data.php' ];
129
+
130
+ if ( ! in_array( $pagenow, $exclude ) ) {
131
+ $dont_disturb = esc_url( add_query_arg( 'rttpg_spare_me', '1', self::rttpg_current_admin_url() ) );
132
+ $remind_me = esc_url( add_query_arg( 'rttpg_remind_me', '1', self::rttpg_current_admin_url() ) );
133
+ $rated = esc_url( add_query_arg( 'rttpg_rated', '1', self::rttpg_current_admin_url() ) );
134
+ $reviewurl = esc_url( 'https://wordpress.org/support/plugin/the-post-grid/reviews/?filter=5#new-post' );
135
+
136
+ printf( __( '<div class="notice rttpg-review-notice rttpg-review-notice--extended">
137
+ <div class="rttpg-review-notice_content">
138
+ <h3>Enjoying The Post Grid?</h3>
139
+ <p>Thank you for choosing The Post Grid. If you have found our plugin useful and makes you smile, please consider giving us a 5-star rating on WordPress.org. It will help us to grow.</p>
140
+ <div class="rttpg-review-notice_actions">
141
+ <a href="%s" class="rttpg-review-button rttpg-review-button--cta" target="_blank"><span>⭐ Yes, You Deserve It!</span></a>
142
+ <a href="%s" class="rttpg-review-button rttpg-review-button--cta rttpg-review-button--outline"><span>😀 Already Rated!</span></a>
143
+ <a href="%s" class="rttpg-review-button rttpg-review-button--cta rttpg-review-button--outline"><span>🔔 Remind Me Later</span></a>
144
+ <a href="%s" class="rttpg-review-button rttpg-review-button--cta rttpg-review-button--error rttpg-review-button--outline"><span>😐 No Thanks</span></a>
145
+ </div>
146
+ </div>
147
+ </div>' ), $reviewurl, $rated, $remind_me, $dont_disturb );
148
+
149
+ echo '<style>
150
+ .rttpg-review-button--cta {
151
+ --e-button-context-color: #4C6FFF;
152
+ --e-button-context-color-dark: #4C6FFF;
153
+ --e-button-context-tint: rgb(75 47 157/4%);
154
+ --e-focus-color: rgb(75 47 157/40%);
155
+ }
156
+ .rttpg-review-notice {
157
+ position: relative;
158
+ margin: 5px 20px 5px 2px;
159
+ border: 1px solid #ccd0d4;
160
+ background: #fff;
161
+ box-shadow: 0 1px 4px rgba(0,0,0,0.15);
162
+ font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
163
+ border-inline-start-width: 4px;
164
+ }
165
+ .rttpg-review-notice.notice {
166
+ padding: 0;
167
+ }
168
+ .rttpg-review-notice:before {
169
+ position: absolute;
170
+ top: -1px;
171
+ bottom: -1px;
172
+ left: -4px;
173
+ display: block;
174
+ width: 4px;
175
+ background: -webkit-linear-gradient(bottom, #4C6FFF 0%, #6939c6 100%);
176
+ background: linear-gradient(0deg, #4C6FFF 0%, #6939c6 100%);
177
+ content: "";
178
+ }
179
+ .rttpg-review-notice_content {
180
+ padding: 20px;
181
+ }
182
+ .rttpg-review-notice_actions > * + * {
183
+ margin-inline-start: 8px;
184
+ -webkit-margin-start: 8px;
185
+ -moz-margin-start: 8px;
186
+ }
187
+ .rttpg-review-notice p {
188
+ margin: 0;
189
+ padding: 0;
190
+ line-height: 1.5;
191
+ }
192
+ p + .rttpg-review-notice_actions {
193
+ margin-top: 1rem;
194
+ }
195
+ .rttpg-review-notice h3 {
196
+ margin: 0;
197
+ font-size: 1.0625rem;
198
+ line-height: 1.2;
199
+ }
200
+ .rttpg-review-notice h3 + p {
201
+ margin-top: 8px;
202
+ }
203
+ .rttpg-review-button {
204
+ display: inline-block;
205
+ padding: 0.4375rem 0.75rem;
206
+ border: 0;
207
+ border-radius: 3px;;
208
+ background: var(--e-button-context-color);
209
+ color: #fff;
210
+ vertical-align: middle;
211
+ text-align: center;
212
+ text-decoration: none;
213
+ white-space: nowrap;
214
+ }
215
+ .rttpg-review-button:active {
216
+ background: var(--e-button-context-color-dark);
217
+ color: #fff;
218
+ text-decoration: none;
219
+ }
220
+ .rttpg-review-button:focus {
221
+ outline: 0;
222
+ background: var(--e-button-context-color-dark);
223
+ box-shadow: 0 0 0 2px var(--e-focus-color);
224
+ color: #fff;
225
+ text-decoration: none;
226
+ }
227
+ .rttpg-review-button:hover {
228
+ background: var(--e-button-context-color-dark);
229
+ color: #fff;
230
+ text-decoration: none;
231
+ }
232
+ .rttpg-review-button.focus {
233
+ outline: 0;
234
+ box-shadow: 0 0 0 2px var(--e-focus-color);
235
+ }
236
+ .rttpg-review-button--error {
237
+ --e-button-context-color: #d72b3f;
238
+ --e-button-context-color-dark: #ae2131;
239
+ --e-button-context-tint: rgba(215,43,63,0.04);
240
+ --e-focus-color: rgba(215,43,63,0.4);
241
+ }
242
+ .rttpg-review-button.rttpg-review-button--outline {
243
+ border: 1px solid;
244
+ background: 0 0;
245
+ color: var(--e-button-context-color);
246
+ }
247
+ .rttpg-review-button.rttpg-review-button--outline:focus {
248
+ background: var(--e-button-context-tint);
249
+ color: var(--e-button-context-color-dark);
250
+ }
251
+ .rttpg-review-button.rttpg-review-button--outline:hover {
252
+ background: var(--e-button-context-tint);
253
+ color: var(--e-button-context-color-dark);
254
+ }
255
+ </style>';
256
+ }
257
+ }
258
+
259
+ protected static function rttpg_current_admin_url() {
260
+ $uri = isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
261
+ $uri = preg_replace( '|^.*/wp-admin/|i', '', $uri );
262
+
263
+ if ( ! $uri ) {
264
+ return '';
265
+ }
266
+ return remove_query_arg( [ '_wpnonce', '_wc_notice_nonce', 'wc_db_update', 'wc_db_update_nonce', 'wc-hide-notice' ], admin_url( $uri ) );
267
+ }
268
+
269
+ // remove the notice for the user if review already done or if the user does not want to
270
+ public static function rttpg_spare_me() {
271
+ if ( isset( $_GET['rttpg_spare_me'] ) && ! empty( $_GET['rttpg_spare_me'] ) ) {
272
+ $spare_me = $_GET['rttpg_spare_me'];
273
+ if ( 1 == $spare_me ) {
274
+ update_option( 'rttpg_spare_me', "1" );
275
+ }
276
+ }
277
+
278
+ if ( isset( $_GET['rttpg_remind_me'] ) && ! empty( $_GET['rttpg_remind_me'] ) ) {
279
+ $remind_me = $_GET['rttpg_remind_me'];
280
+ if ( 1 == $remind_me ) {
281
+ $get_activation_time = strtotime( "now" );
282
+ update_option( 'rttpg_remind_me', $get_activation_time );
283
+ update_option( 'rttpg_spare_me', "2" );
284
+ }
285
+ }
286
+
287
+ if ( isset( $_GET['rttpg_rated'] ) && ! empty( $_GET['rttpg_rated'] ) ) {
288
+ $rttpg_rated = $_GET['rttpg_rated'];
289
+ if ( 1 == $rttpg_rated ) {
290
+ update_option( 'rttpg_rated', 'yes' );
291
+ update_option( 'rttpg_spare_me', "3" );
292
+ }
293
+ }
294
+ }
295
+
296
  }
297
 
298
  endif;
lib/classes/rtTPGShortCode.php CHANGED
@@ -858,8 +858,7 @@ if ( ! class_exists( 'rtTPGShortCode' ) ):
858
  }
859
  $filter_count = ! empty( $scMeta['isotope_filter_count'][0] ) ? true : false;
860
  $filter_url = ! empty( $scMeta['isotope_filter_url'][0] ) ? true : false;
861
- $htmlButton
862
- = "<div id='iso-button-{$rand}' class='rt-tpg-isotope-buttons button-group filter-button-group option-set' data-url='{$filter_url}' data-count='{$filter_count}'>{$htmlButton}</div>";
863
 
864
  if ( $isotope_dropdown_filter ) {
865
  $html .= "<select class='isotope-dropdown-filter'>{$drop}</select>";
@@ -871,7 +870,6 @@ if ( ! class_exists( 'rtTPGShortCode' ) ):
871
  'the-post-grid' ) . "' /></div>";
872
  }
873
  $html .= '</div>';
874
-
875
  $html .= "<div class='rt-tpg-isotope' id='iso-tpg-{$rand}'>";
876
  }
877
 
@@ -965,6 +963,9 @@ if ( ! class_exists( 'rtTPGShortCode' ) ):
965
  }
966
  if ( $isIsotope || $isCarousel ) {
967
  $html .= '</div>'; // End isotope / Carousel item holder
 
 
 
968
  if ( $isCarousel ) {
969
  if ( in_array( 'pagination', $cOpt ) ) {
970
  $html .= '<div class="swiper-pagination"></div>';
858
  }
859
  $filter_count = ! empty( $scMeta['isotope_filter_count'][0] ) ? true : false;
860
  $filter_url = ! empty( $scMeta['isotope_filter_url'][0] ) ? true : false;
861
+ $htmlButton = "<div id='iso-button-{$rand}' class='rt-tpg-isotope-buttons button-group filter-button-group option-set' data-url='{$filter_url}' data-count='{$filter_count}'>{$htmlButton}</div>";
 
862
 
863
  if ( $isotope_dropdown_filter ) {
864
  $html .= "<select class='isotope-dropdown-filter'>{$drop}</select>";
870
  'the-post-grid' ) . "' /></div>";
871
  }
872
  $html .= '</div>';
 
873
  $html .= "<div class='rt-tpg-isotope' id='iso-tpg-{$rand}'>";
874
  }
875
 
963
  }
964
  if ( $isIsotope || $isCarousel ) {
965
  $html .= '</div>'; // End isotope / Carousel item holder
966
+ if ($isIsotope) {
967
+ $html .= '<div class="isotope-term-no-post"><p>'.esc_html__('No post found', 'the-post-grid').'</p></div>';
968
+ }
969
  if ( $isCarousel ) {
970
  if ( in_array( 'pagination', $cOpt ) ) {
971
  $html .= '<div class="swiper-pagination"></div>';
the-post-grid.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://demo.radiustheme.com/wordpress/plugins/the-post-grid/
5
  * Description: Fast & Easy way to display WordPress post in Grid, List & Isotope view ( filter by category, tag, author..) without a single line of coding.
6
  * Author: RadiusTheme
7
- * Version: 3.1.1
8
  * Text Domain: the-post-grid
9
  * Domain Path: /languages
10
  * Author URI: https://radiustheme.com/
4
  * Plugin URI: http://demo.radiustheme.com/wordpress/plugins/the-post-grid/
5
  * Description: Fast & Easy way to display WordPress post in Grid, List & Isotope view ( filter by category, tag, author..) without a single line of coding.
6
  * Author: RadiusTheme
7
+ * Version: 3.1.2
8
  * Text Domain: the-post-grid
9
  * Domain Path: /languages
10
  * Author URI: https://radiustheme.com/