Content Views – Post Grid & List for WordPress - Version 1.7.2

Version Description

  • Improvement: Reduce processing time by optimizing conditional statements & functions
  • Bug fixed: "No post found" when one of selected terms is hierarchical and operator is AND
  • Bug fixed: Some style issues of pagination (caused by impact of style from active theme)
  • Tweak: Add more helpful descriptions about advanced features in Pro plugin
Download this release

Release Info

Developer PT Guy
Plugin Icon 128x128 Content Views – Post Grid & List for WordPress
Version 1.7.2
Comparing to
See all releases

Code changes from version 1.7.1 to 1.7.2

README.txt CHANGED
@@ -4,22 +4,22 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: post, display, recent, posts, recent post, page, pages, query, queries, search, display, show, grid, column, layout, author, blog, categories, category, comment, content, custom, editor, filter, Formatting, image, list, meta, plugin, responsive, shortcode, excerpt, title, tag, term, Taxonomy, thumbnail, pagination, date, scrollable, slider, collapsible
5
  Requires at least: 3.3
6
  Tested up to: 4.3.1
7
- Stable tag: 1.7.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- It is easy as ABC to query posts by category, tag, author... and display posts anywhere (page, widget) in responsive Grid layout without coding!
12
 
13
  == Description ==
14
 
15
- Do you want to display most recent posts on any WordPress page in responsive, customizable Grid layout?
16
 
17
  Or:
18
 
19
  * display posts by any category, tag, author, keyword
20
- * display posts in order of title, date, ID
21
- * display posts with nice pagination
22
- * display thumbnail in different size than 150x150 or 300x300
23
 
24
  With **Content Views**, you can do above things in minutes, without any line of code!
25
 
@@ -28,8 +28,8 @@ With [Content Views Pro](http://www.contentviewspro.com/?utm_source=wordpress&ut
28
  **Content Views** provides an intuitive form to query posts and display posts in responsive layouts (grid layout, slider/scrollable list, accordion/collapsible list) quickly & easily, in 3 simple steps:
29
 
30
  * Step 1 : Query your posts by category, tag, author...
31
- * Step 2 : Select a layout to display your posts. You can select what fields (title, content/excerpt, thumbnail, meta fields) to display, too.
32
- * Step 3 : Paste shortcode **[pt_view id="VIEW_ID"]** to content of page, widget where you want to display your posts. Or you can paste `<?php echo do_shortcode('[pt_view id="VIEW_ID"]'); ?>` to WordPress theme file.
33
 
34
 
35
  [youtube https://www.youtube.com/watch?v=drxqtCiaw4I]
@@ -39,8 +39,9 @@ With [Content Views Pro](http://www.contentviewspro.com/?utm_source=wordpress&ut
39
 
40
  **in Step 1:**
41
 
42
- * query any posts by IDs, category, tag, author, keyword, status
43
- * query child pages of a parent page
 
44
  * include/exclude posts to display
45
  * sort posts by Id, Title, Date in ascending, descending order
46
  * limit number of posts to display
@@ -50,8 +51,8 @@ With [Content Views Pro](http://www.contentviewspro.com/?utm_source=wordpress&ut
50
  * select a responsive layout to display posts: Grid, Scrollable list, Collapsible list
51
  * select number of columns in Grid layout
52
  * display fields (thumbnail, title, content, meta fields) in vertical direction. Or display thumbnail in left/right side of other fields
53
- * select what above fields to display
54
- * select thumbnail sizes
55
  * display full content, or display excerpt with specific number of words
56
  * select what meta-fields (date, author, categories/tags, comment count) to display
57
  * enable/disable pagination
@@ -61,7 +62,7 @@ With [Content Views Pro](http://www.contentviewspro.com/?utm_source=wordpress&ut
61
  = With Content Views Pro, you have: =
62
 
63
  * More amazing layouts: **Pinterest, Facebook Timeline, Masonry**...
64
- * **Replace WordPress layout** in Category page, Search result page, Archive page... by amazing & customizable layout
65
  * **Drag & drop** to change display order of thumbnail, title, content, meta fields
66
  * Display any custom posts (**WooCommerce product, EDD** ...) in beautiful output
67
  * Customize **font, color, style** of title, content, read-more button...
@@ -162,6 +163,12 @@ function my_session_start() {
162
 
163
  == Changelog ==
164
 
 
 
 
 
 
 
165
  = 1.7.1 =
166
  * Bug fixed: Fix error in some one-page themes
167
  * Update: Add woff2 file of Bootstrap font
4
  Tags: post, display, recent, posts, recent post, page, pages, query, queries, search, display, show, grid, column, layout, author, blog, categories, category, comment, content, custom, editor, filter, Formatting, image, list, meta, plugin, responsive, shortcode, excerpt, title, tag, term, Taxonomy, thumbnail, pagination, date, scrollable, slider, collapsible
5
  Requires at least: 3.3
6
  Tested up to: 4.3.1
7
+ Stable tag: 1.7.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ It is super easy to query & display latest posts or any posts (by category, tag, author...) anywhere in responsive Grid layout without coding!
12
 
13
  == Description ==
14
 
15
+ Do you want to display latest posts on any WordPress page in responsive, versatile Grid layout?
16
 
17
  Or:
18
 
19
  * display posts by any category, tag, author, keyword
20
+ * order posts by title, date, ID
21
+ * display posts with beautiful pagination
22
+ * display featured image with various size (thumbnail, medium, large, full)
23
 
24
  With **Content Views**, you can do above things in minutes, without any line of code!
25
 
28
  **Content Views** provides an intuitive form to query posts and display posts in responsive layouts (grid layout, slider/scrollable list, accordion/collapsible list) quickly & easily, in 3 simple steps:
29
 
30
  * Step 1 : Query your posts by category, tag, author...
31
+ * Step 2 : Select a layout to display your posts. You can select what fields (title, content/excerpt, thumbnail, meta fields) to display.
32
+ * Step 3 : Paste shortcode **[pt_view id="VIEW_ID"]** to anywhere (page, widget...) you want to display your posts. Or you can paste `<?php echo do_shortcode('[pt_view id="VIEW_ID"]'); ?>` to WordPress theme file.
33
 
34
 
35
  [youtube https://www.youtube.com/watch?v=drxqtCiaw4I]
39
 
40
  **in Step 1:**
41
 
42
+ * display latest posts without doing anything (by default, latest posts will be selected)
43
+ * display any posts by ID, category, tag, author, keyword, status
44
+ * display child pages of a parent page
45
  * include/exclude posts to display
46
  * sort posts by Id, Title, Date in ascending, descending order
47
  * limit number of posts to display
51
  * select a responsive layout to display posts: Grid, Scrollable list, Collapsible list
52
  * select number of columns in Grid layout
53
  * display fields (thumbnail, title, content, meta fields) in vertical direction. Or display thumbnail in left/right side of other fields
54
+ * select what fields to show
55
+ * select thumbnail size
56
  * display full content, or display excerpt with specific number of words
57
  * select what meta-fields (date, author, categories/tags, comment count) to display
58
  * enable/disable pagination
62
  = With Content Views Pro, you have: =
63
 
64
  * More amazing layouts: **Pinterest, Facebook Timeline, Masonry**...
65
+ * **Replace WordPress layout** in Category page, Search result page, Archive page... by amazing & versatile layout
66
  * **Drag & drop** to change display order of thumbnail, title, content, meta fields
67
  * Display any custom posts (**WooCommerce product, EDD** ...) in beautiful output
68
  * Customize **font, color, style** of title, content, read-more button...
163
 
164
  == Changelog ==
165
 
166
+ = 1.7.2 =
167
+ * Improvement: Reduce processing time by optimizing conditional statements & functions
168
+ * Bug fixed: "No post found" when one of selected terms is hierarchical and operator is AND
169
+ * Bug fixed: Some style issues of pagination (caused by impact of style from active theme)
170
+ * Tweak: Add more helpful descriptions about advanced features in Pro plugin
171
+
172
  = 1.7.1 =
173
  * Bug fixed: Fix error in some one-page themes
174
  * Update: Add woff2 file of Bootstrap font
admin/includes/options.php CHANGED
@@ -189,7 +189,7 @@ if ( !class_exists( 'PT_Options_Framework' ) ) {
189
  $name = !empty( $param[ 'name' ] ) ? PT_CV_PREFIX . esc_attr( $param[ 'name' ] ) : '';
190
  $id = !empty( $param[ 'id' ] ) ? "id='" . PT_CV_PREFIX . esc_attr( $param[ 'id' ] ) . "'" : '';
191
  $value = isset( $value_ ) ? $value_ : self::field_value( $data, $param, $name );
192
- $description = isset( $param[ 'desc' ] ) ? balanceTags( $param[ 'desc' ] ) : '';
193
 
194
  // Add extra information of option type
195
  switch ( $type ) {
@@ -367,7 +367,7 @@ if ( !class_exists( 'PT_Options_Framework' ) ) {
367
  var group_prefix = '<?php echo esc_js( PT_CV_Html::html_group_class() ); ?>' + '-';
368
 
369
  // Preview actions
370
- $pt_cv_admin_js.preview( '<?php echo balanceTags( wp_create_nonce( PT_CV_PREFIX_ . 'ajax_nonce' ) ); ?>' );
371
 
372
  // Custom js
373
  $pt_cv_admin_js.custom();
@@ -382,7 +382,7 @@ if ( !class_exists( 'PT_Options_Framework' ) ) {
382
  $pt_cv_admin_js.toggle_group( '[name="' + _prefix + 'view-type' + '"]', group_prefix, false );
383
 
384
  // Toggle dependence
385
- $pt_cv_admin_js.dependence_do_all( '<?php echo balanceTags( $toggle_data_js ); ?>' );
386
 
387
  $pt_cv_admin_js.multi_level_toggle();
388
  } );
189
  $name = !empty( $param[ 'name' ] ) ? PT_CV_PREFIX . esc_attr( $param[ 'name' ] ) : '';
190
  $id = !empty( $param[ 'id' ] ) ? "id='" . PT_CV_PREFIX . esc_attr( $param[ 'id' ] ) . "'" : '';
191
  $value = isset( $value_ ) ? $value_ : self::field_value( $data, $param, $name );
192
+ $description = isset( $param[ 'desc' ] ) ? $param[ 'desc' ] : '';
193
 
194
  // Add extra information of option type
195
  switch ( $type ) {
367
  var group_prefix = '<?php echo esc_js( PT_CV_Html::html_group_class() ); ?>' + '-';
368
 
369
  // Preview actions
370
+ $pt_cv_admin_js.preview( '<?php echo wp_create_nonce( PT_CV_PREFIX_ . 'ajax_nonce' ); ?>' );
371
 
372
  // Custom js
373
  $pt_cv_admin_js.custom();
382
  $pt_cv_admin_js.toggle_group( '[name="' + _prefix + 'view-type' + '"]', group_prefix, false );
383
 
384
  // Toggle dependence
385
+ $pt_cv_admin_js.dependence_do_all( '<?php echo $toggle_data_js; ?>' );
386
 
387
  $pt_cv_admin_js.multi_level_toggle();
388
  } );
admin/includes/plugin.php CHANGED
@@ -40,7 +40,7 @@ if ( !class_exists( 'PT_CV_Plugin' ) ) {
40
 
41
  $text = apply_filters( PT_CV_PREFIX_ . 'settings_page_section_one', $text );
42
 
43
- echo balanceTags( $text );
44
  }
45
 
46
  /**
@@ -54,7 +54,7 @@ if ( !class_exists( 'PT_CV_Plugin' ) ) {
54
 
55
  $text = apply_filters( PT_CV_PREFIX_ . 'settings_page_section_two', $text );
56
 
57
- echo balanceTags( $text );
58
  }
59
 
60
  /**
@@ -76,7 +76,7 @@ if ( !class_exists( 'PT_CV_Plugin' ) ) {
76
  <?php
77
  $text = ob_get_clean();
78
 
79
- echo balanceTags( $text );
80
  }
81
 
82
  /**
@@ -145,8 +145,7 @@ if ( !class_exists( 'PT_CV_Plugin' ) ) {
145
  * @param string $section Id of setting section
146
  * @param string $class Class name to find the callback function
147
  */
148
- public static function field_register( $field_info, $section,
149
- $class = __CLASS__ ) {
150
  if ( !$field_info ) {
151
  return false;
152
  }
@@ -179,8 +178,7 @@ if ( !class_exists( 'PT_CV_Plugin' ) ) {
179
  * @param string $text The label of field
180
  * @param string $desc Description text
181
  */
182
- static function _field_print( $field_name, $field_type = 'text', $text = '',
183
- $desc = '' ) {
184
 
185
  // Get Saved value
186
  $field_value = isset( self::$options[ $field_name ] ) ? esc_attr( self::$options[ $field_name ] ) : '';
40
 
41
  $text = apply_filters( PT_CV_PREFIX_ . 'settings_page_section_one', $text );
42
 
43
+ echo $text;
44
  }
45
 
46
  /**
54
 
55
  $text = apply_filters( PT_CV_PREFIX_ . 'settings_page_section_two', $text );
56
 
57
+ echo $text;
58
  }
59
 
60
  /**
76
  <?php
77
  $text = ob_get_clean();
78
 
79
+ echo $text;
80
  }
81
 
82
  /**
145
  * @param string $section Id of setting section
146
  * @param string $class Class name to find the callback function
147
  */
148
+ public static function field_register( $field_info, $section, $class = __CLASS__ ) {
 
149
  if ( !$field_info ) {
150
  return false;
151
  }
178
  * @param string $text The label of field
179
  * @param string $desc Description text
180
  */
181
+ static function _field_print( $field_name, $field_type = 'text', $text = '', $desc = '' ) {
 
182
 
183
  // Get Saved value
184
  $field_value = isset( self::$options[ $field_name ] ) ? esc_attr( self::$options[ $field_name ] ) : '';
admin/includes/templates/settings-section-one.php CHANGED
@@ -1,3 +1,10 @@
1
  <p><br>Thank you for using Content Views!</p>
2
  <p>You are using
3
- <strong>Free</strong> version: <?php echo esc_html( PT_CV_Functions::plugin_info( PT_CV_FILE, 'Version' ) ); ?></p>
 
 
 
 
 
 
 
1
  <p><br>Thank you for using Content Views!</p>
2
  <p>You are using
3
+ <strong>Free</strong> version: <?php echo esc_html( PT_CV_Functions::plugin_info( PT_CV_FILE, 'Version' ) ); ?></p>
4
+ <p>
5
+ By default, any user who has <strong>edit_posts</strong> capability (Administrator, Editor, Author, Contributor) can manage all Views (add, edit, delete).<br>
6
+ To restrict which user role can manage Views,
7
+ <?php
8
+ echo sprintf( ' <a href="%s" target="_blank">%s</a>', esc_url( 'http://www.contentviewspro.com/pricing/?utm_source=settings_page&utm_medium=role' ), __( 'Get CVPro now!', PT_CV_TEXTDOMAIN ) );
9
+ ?>
10
+ </p>
admin/includes/templates/settings-section-two.php CHANGED
@@ -1,51 +1,42 @@
1
  <style>
2
- #pt-cv-features {padding-right: 0; margin-bottom: 30px;}
3
  #pt-cv-features * {font-size: 14px;}
4
- #pt-cv-features h3 {font-size: 18px;}
 
5
  #pt-cv-features .col-md-6 {padding: 0;}
6
  </style>
7
 
8
- <h3>&DoubleRightArrow; <a style="font-size: 18px;" href="http://www.contentviewspro.com/docs/?utm_source=settings_page" target="_blank">Content Views Documentation</a></h3>
9
 
10
  <hr>
11
 
12
- <h2>Want more powerful features?</h2>
13
 
14
  <div class="col-md-12" id="pt-cv-features">
15
  <div class="col-md-6">
16
- <h3>
17
- More beautiful & awesome layouts
18
- </h3>
19
  <div>
20
  <ul style="list-style: circle; margin-left: 20px;">
21
- <li>Grid </li>
22
- <li>Pinterest </li>
23
- <li>Timeline </li>
24
- <li>Scrollable/Slider list </li>
25
- <li>Collapsible list</li>
26
  </ul>
27
  </div>
28
  </div>
29
 
30
  <div class="col-md-6">
31
- <h3>
32
- Query custom post types
33
- </h3>
34
  <div>
35
- <p>Content Views Pro allows you to query any custom post types.</p>
36
- <p>And of course, It supports below well-known plugins:</p>
37
- <ul style="list-style: circle; margin-left: 20px;">
38
- <li>WooCommerce</li>
39
- <li>Easy Digital Downloads</li>
40
- <li>Advanced Custom Fields</li>
41
- </ul>
42
  </div>
43
  </div>
44
-
45
- <h3>&raquo; <a style="font-size: 18px;" href="http://www.contentviewspro.com/features/?utm_source=settings_page" target="_blank">See all features</a></h3>
46
- <br>
47
  </div>
48
 
 
 
49
  <p style="margin-top: 20px;">
50
  <a href="http://www.contentviewspro.com/pricing/?utm_source=settings_page" target="_blank" class="btn btn-success">Upgrade now</a>
51
  or
1
  <style>
2
+ #pt-cv-features {padding-right: 0; padding-left: 0; margin-bottom: 10px;}
3
  #pt-cv-features * {font-size: 14px;}
4
+ h2 {margin-bottom: 10px !important; padding-top: 0 !important;}
5
+ h3 {font-size: 20px; margin: 0 0 10px !important;}
6
  #pt-cv-features .col-md-6 {padding: 0;}
7
  </style>
8
 
9
+ <h3>&raquo; <a style="font-size: 18px;" href="http://www.contentviewspro.com/docs/?utm_source=settings_page" target="_blank">See Documentation</a></h3>
10
 
11
  <hr>
12
 
13
+ <h2>You need more powerful features?</h2>
14
 
15
  <div class="col-md-12" id="pt-cv-features">
16
  <div class="col-md-6">
17
+ <h3>More beautiful & awesome layouts</h3>
 
 
18
  <div>
19
  <ul style="list-style: circle; margin-left: 20px;">
20
+ <li>Masonry</li>
21
+ <li>Pinterest</li>
22
+ <li>Facebook Timeline</li>
 
 
23
  </ul>
24
  </div>
25
  </div>
26
 
27
  <div class="col-md-6">
28
+ <h3>Custom post types & Custom fields</h3>
 
 
29
  <div>
30
+ <p>Content Views Pro allows you to filter & display:<br>
31
+ + any custom post types (WooCommerce, Easy Digital Downloads...)<br>
32
+ + any custom fields (Advanced Custom Fields...)
33
+ </p>
 
 
 
34
  </div>
35
  </div>
 
 
 
36
  </div>
37
 
38
+ <div style="clear:both"></div>
39
+ <h3>&raquo; <a style="font-size: 18px;" href="http://www.contentviewspro.com/features/?utm_source=settings_page" target="_blank">See all features</a></h3>
40
  <p style="margin-top: 20px;">
41
  <a href="http://www.contentviewspro.com/pricing/?utm_source=settings_page" target="_blank" class="btn btn-success">Upgrade now</a>
42
  or
admin/views/view.php CHANGED
@@ -40,7 +40,13 @@ PT_CV_Functions::view_submit();
40
 
41
  <?php
42
  if ( $id ) {
43
- echo balanceTags( sprintf( '<div><input id="view-shortcode" type="text" value="[pt_view id=&quot;%s&quot;]" onclick="this.select()" readonly="" class="form-control">%s</div><div class="clear"></div>', $id, apply_filters( PT_CV_PREFIX_ . 'view_actions', '', $id ) ) );
 
 
 
 
 
 
44
  }
45
  ?>
46
 
@@ -64,7 +70,7 @@ PT_CV_Functions::view_submit();
64
  ),
65
  ),
66
  );
67
- echo balanceTags( PT_Options_Framework::do_settings( $options, $settings ) );
68
  ?>
69
  </div>
70
 
@@ -105,7 +111,7 @@ PT_CV_Functions::view_submit();
105
  ),
106
  ),
107
  );
108
- echo balanceTags( PT_Options_Framework::do_settings( $options, $settings ) );
109
  ?>
110
  <br>
111
 
@@ -146,23 +152,8 @@ PT_CV_Functions::view_submit();
146
  ),
147
  ),
148
  ),
149
- // Upgrade to Pro
150
- !get_option( 'pt_cv_version_pro' ) ? array(
151
- 'label' => array(
152
- 'text' => '',
153
- ),
154
- 'extra_setting' => array(
155
- 'params' => array(
156
- 'width' => 10,
157
- ),
158
- ),
159
- 'params' => array(
160
- array(
161
- 'type' => 'html',
162
- 'content' => sprintf( '<p class="text-muted">&rarr; %s</p>', __( 'Filter custom content type (or post type) ?', PT_CV_TEXTDOMAIN ) . sprintf( ' <a href="%s" target="_blank">%s</a>', esc_url( 'http://www.contentviewspro.com/pricing/?utm_source=client&utm_medium=view' ), __( 'Please upgrade to Pro', PT_CV_TEXTDOMAIN ) ) ),
163
- ),
164
- ),
165
- ) : '',
166
  apply_filters( PT_CV_PREFIX_ . 'custom_filters', array() ),
167
  // Common Filters
168
  array(
@@ -241,7 +232,8 @@ PT_CV_Functions::view_submit();
241
  ),
242
  ),
243
  ),
244
- apply_filters( PT_CV_PREFIX_ . 'after_limit_option', array() ),
 
245
  ),
246
  ),
247
  ),
@@ -458,7 +450,7 @@ PT_CV_Functions::view_submit();
458
  ),
459
  ),
460
  );
461
- echo balanceTags( PT_Options_Framework::do_settings( $options, $settings ) );
462
  ?>
463
  </div>
464
  <!-- end Filter Settings -->
@@ -568,7 +560,7 @@ PT_CV_Functions::view_submit();
568
  );
569
 
570
  $options = apply_filters( PT_CV_PREFIX_ . 'display_settings', $options );
571
- echo balanceTags( PT_Options_Framework::do_settings( $options, $settings ) );
572
  ?>
573
  </div>
574
  <!-- end Display Settings -->
40
 
41
  <?php
42
  if ( $id ) {
43
+ ?>
44
+ <div>
45
+ <input id="view-shortcode" type="text" value="[pt_view id=&quot;<?php echo $id ?>&quot;]" onclick="this.select()" readonly="" class="form-control">
46
+ <?php echo apply_filters( PT_CV_PREFIX_ . 'view_actions', '', $id ) ?>
47
+ </div>
48
+ <div class="clear"></div>
49
+ <?php
50
  }
51
  ?>
52
 
70
  ),
71
  ),
72
  );
73
+ echo PT_Options_Framework::do_settings( $options, $settings );
74
  ?>
75
  </div>
76
 
111
  ),
112
  ),
113
  );
114
+ echo PT_Options_Framework::do_settings( $options, $settings );
115
  ?>
116
  <br>
117
 
152
  ),
153
  ),
154
  ),
155
+ // Upgrade to Pro: Custom post type
156
+ !get_option( 'pt_cv_version_pro' ) ? PT_CV_Settings::get_cvpro( __( 'Filter custom post type (product, event...) ?', PT_CV_TEXTDOMAIN ), 10 ) : '',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  apply_filters( PT_CV_PREFIX_ . 'custom_filters', array() ),
158
  // Common Filters
159
  array(
232
  ),
233
  ),
234
  ),
235
+ // Upgrade to Pro: Offset
236
+ apply_filters( PT_CV_PREFIX_ . 'after_limit_option', PT_CV_Settings::get_cvpro( __( 'Skip initial post(s)?', PT_CV_TEXTDOMAIN ), 12 ) ),
237
  ),
238
  ),
239
  ),
450
  ),
451
  ),
452
  );
453
+ echo PT_Options_Framework::do_settings( $options, $settings );
454
  ?>
455
  </div>
456
  <!-- end Filter Settings -->
560
  );
561
 
562
  $options = apply_filters( PT_CV_PREFIX_ . 'display_settings', $options );
563
+ echo PT_Options_Framework::do_settings( $options, $settings );
564
  ?>
565
  </div>
566
  <!-- end Display Settings -->
content-views.php CHANGED
@@ -11,7 +11,7 @@
11
  * Plugin Name: Content Views
12
  * Plugin URI: http://wordpress.org/plugins/content-views-query-and-display-post-page/
13
  * Description: Query and display <strong>posts, pages</strong> in awesome layouts (<strong>grid, scrollable list, collapsible list</strong>) easier than ever, without coding!
14
- * Version: 1.7.1
15
  * Author: PT Guy
16
  * Author URI: http://profiles.wordpress.org/pt-guy
17
  * Text Domain: content-views-query-and-display-post-page
@@ -27,7 +27,7 @@ if ( !defined( 'WPINC' ) ) {
27
  /*
28
  * Define Constant
29
  */
30
- define( 'PT_CV_VERSION', '1.7.1' );
31
  define( 'PT_CV_FILE', __FILE__ );
32
  $pt_cv_path = plugin_dir_path( __FILE__ );
33
  include_once( $pt_cv_path . 'includes/defines.php' );
11
  * Plugin Name: Content Views
12
  * Plugin URI: http://wordpress.org/plugins/content-views-query-and-display-post-page/
13
  * Description: Query and display <strong>posts, pages</strong> in awesome layouts (<strong>grid, scrollable list, collapsible list</strong>) easier than ever, without coding!
14
+ * Version: 1.7.2
15
  * Author: PT Guy
16
  * Author URI: http://profiles.wordpress.org/pt-guy
17
  * Text Domain: content-views-query-and-display-post-page
27
  /*
28
  * Define Constant
29
  */
30
+ define( 'PT_CV_VERSION', '1.7.2' );
31
  define( 'PT_CV_FILE', __FILE__ );
32
  $pt_cv_path = plugin_dir_path( __FILE__ );
33
  include_once( $pt_cv_path . 'includes/defines.php' );
includes/functions.php CHANGED
@@ -424,9 +424,11 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
424
  foreach ( $terms as $term ) {
425
  $include_this = apply_filters( PT_CV_PREFIX_ . 'terms_include_this', true, $term );
426
  if ( $include_this ) {
427
- $links[] = sprintf(
428
- '<a href="%1$s" title="%2$s %3$s" class="%4$s">%3$s</a>', esc_url( get_term_link( $term, $term->taxonomy ) ), __( 'View all posts in', PT_CV_TEXTDOMAIN ), $term->name, PT_CV_PREFIX . 'tax-' . PT_CV_Functions::term_slug_sanitize( $term->slug )
429
- );
 
 
430
  }
431
 
432
  // Add this term to terms list of an item
@@ -833,7 +835,7 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
833
  $_text = apply_filters( PT_CV_PREFIX_ . 'content_no_post_found_text', __( 'No post found', PT_CV_TEXTDOMAIN ) );
834
 
835
  // Output HTML
836
- $content_items[] = sprintf( '<div class="%1$s">%2$s</div>', esc_attr( $_class ), balanceTags( $_text ) );
837
 
838
  $empty_result = true;
839
  }
@@ -1025,7 +1027,12 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1025
  'field' => 'slug',
1026
  'terms' => (array) PT_CV_Functions::setting_value( PT_CV_PREFIX . $taxonomy . '-terms', $view_settings ),
1027
  'operator' => $operator,
1028
- 'include_children' => apply_filters( PT_CV_PREFIX_ . 'include_children', true )
 
 
 
 
 
1029
  );
1030
  }
1031
  }
@@ -1263,7 +1270,7 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1263
  * @param array $atts Array of setting parameters for shortcode
1264
  * @param string $content Content of shortcode
1265
  */
1266
- static function view_output( $atts, $content = '' ) {
1267
  $atts = shortcode_atts(
1268
  apply_filters(
1269
  PT_CV_PREFIX_ . 'shortcode_params', array(
@@ -1297,7 +1304,7 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1297
  $settings = PT_CV_Functions::view_get_settings( $id );
1298
 
1299
  // Show View output
1300
- $view_html = balanceTags( PT_CV_Functions::view_process_settings( $id, $settings ) );
1301
 
1302
  return PT_CV_Functions::view_final_output( $view_html );
1303
  }
@@ -1357,7 +1364,7 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1357
  $view_id = self::url_extract_param( 'id' );
1358
 
1359
  // Show View output
1360
- echo balanceTags( PT_CV_Functions::view_process_settings( $view_id, $settings ) );
1361
 
1362
  do_action( PT_CV_PREFIX_ . 'preview_footer' );
1363
 
@@ -1391,7 +1398,7 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1391
  self::switch_language( $language );
1392
 
1393
  // Show View output
1394
- echo balanceTags( PT_CV_Functions::view_process_settings( $session_id, $settings, $pargs ) );
1395
 
1396
  // Must exit
1397
  die;
@@ -1421,16 +1428,15 @@ if ( !class_exists( 'PT_CV_Functions' ) ) {
1421
  */
1422
  static function pagination_generate_link( $class, $this_page, $label = '' ) {
1423
  $data_page = '';
1424
-
1425
  if ( !$label ) {
1426
  $label = $this_page;
1427
- $data_page = sprintf( ' data-page="%s"', $this_page );
1428
  }
1429
 
1430
- $html = sprintf( '<a%s href="%s">%s</a>', $data_page, esc_url( add_query_arg( 'vpage', $this_page ) ), $label );
1431
- $class = $class ? sprintf( ' class="%s"', esc_attr( $class ) ) : '';
1432
 
1433
- return sprintf( '<li%s>%s</li>', $class, $html );
1434
  }
1435
 
1436
  /**
424
  foreach ( $terms as $term ) {
425
  $include_this = apply_filters( PT_CV_PREFIX_ . 'terms_include_this', true, $term );
426
  if ( $include_this ) {
427
+ $href = esc_url( get_term_link( $term, $term->taxonomy ) );
428
+ $text = __( 'View all posts in', PT_CV_TEXTDOMAIN );
429
+ $term_name = esc_attr( $term->name );
430
+ $class = esc_attr( PT_CV_PREFIX . 'tax-' . PT_CV_Functions::term_slug_sanitize( $term->slug ) );
431
+ $links[] = "<a href='$href' title='$text $term_name' class='$class'>{$term->name}</a>";
432
  }
433
 
434
  // Add this term to terms list of an item
835
  $_text = apply_filters( PT_CV_PREFIX_ . 'content_no_post_found_text', __( 'No post found', PT_CV_TEXTDOMAIN ) );
836
 
837
  // Output HTML
838
+ $content_items[] = sprintf( '<div class="%s">%s</div>', esc_attr( $_class ), $_text );
839
 
840
  $empty_result = true;
841
  }
1027
  'field' => 'slug',
1028
  'terms' => (array) PT_CV_Functions::setting_value( PT_CV_PREFIX . $taxonomy . '-terms', $view_settings ),
1029
  'operator' => $operator,
1030
+ /*
1031
+ * @since 1.7.2
1032
+ * Bug: "No post found" when one of selected terms is hierarchical and operator is AND
1033
+ * Solution: Set include_children = false
1034
+ */
1035
+ 'include_children' => apply_filters( PT_CV_PREFIX_ . 'include_children', $operator == 'AND' ? false : true )
1036
  );
1037
  }
1038
  }
1270
  * @param array $atts Array of setting parameters for shortcode
1271
  * @param string $content Content of shortcode
1272
  */
1273
+ static function view_output( $atts ) {
1274
  $atts = shortcode_atts(
1275
  apply_filters(
1276
  PT_CV_PREFIX_ . 'shortcode_params', array(
1304
  $settings = PT_CV_Functions::view_get_settings( $id );
1305
 
1306
  // Show View output
1307
+ $view_html = PT_CV_Functions::view_process_settings( $id, $settings );
1308
 
1309
  return PT_CV_Functions::view_final_output( $view_html );
1310
  }
1364
  $view_id = self::url_extract_param( 'id' );
1365
 
1366
  // Show View output
1367
+ echo PT_CV_Functions::view_process_settings( $view_id, $settings );
1368
 
1369
  do_action( PT_CV_PREFIX_ . 'preview_footer' );
1370
 
1398
  self::switch_language( $language );
1399
 
1400
  // Show View output
1401
+ echo PT_CV_Functions::view_process_settings( $session_id, $settings, $pargs );
1402
 
1403
  // Must exit
1404
  die;
1428
  */
1429
  static function pagination_generate_link( $class, $this_page, $label = '' ) {
1430
  $data_page = '';
 
1431
  if ( !$label ) {
1432
  $label = $this_page;
1433
+ $data_page = sprintf( 'data-page="%s"', $this_page );
1434
  }
1435
 
1436
+ $html = sprintf( '<a %s href="%s">%s</a>', $data_page, esc_url( add_query_arg( 'vpage', $this_page ) ), $label );
1437
+ $class = $class ? sprintf( 'class="%s"', esc_attr( $class ) ) : '';
1438
 
1439
+ return sprintf( '<li %s>%s</li>', $class, $html );
1440
  }
1441
 
1442
  /**
includes/html-viewtype.php CHANGED
@@ -92,7 +92,7 @@ if ( !class_exists( 'PT_CV_Html_ViewType' ) ) {
92
  $list_item = sprintf( '<div class="%s">%s</div>', esc_attr( $row_class ), $list_item );
93
  }
94
 
95
- $content[] = balanceTags( $list_item );
96
  }
97
  }
98
 
@@ -124,7 +124,7 @@ if ( !class_exists( 'PT_CV_Html_ViewType' ) ) {
124
  // Collapsible wrapper class
125
  $wrapper_class = apply_filters( PT_CV_PREFIX_ . 'wrapper_collapsible_class', 'panel-group' );
126
 
127
- $output = sprintf( '<div class="%s" id="%s" %s>%s</div>', esc_attr( $wrapper_class ), esc_attr( $random_id ), $data_attr, balanceTags( implode( "\n", $collapsible_list ) ) );
128
 
129
  $content[] = $output;
130
  }
@@ -220,7 +220,7 @@ if ( !class_exists( 'PT_CV_Html_ViewType' ) ) {
220
  $row_html[] = PT_CV_Html::content_item_wrap( $content_item, $item_class );
221
  }
222
 
223
- $slide_html[] = sprintf( '<div class="%1$s">%2$s</div>', esc_attr( $row_class ), implode( "\n", $row_html ) );
224
  }
225
 
226
  // Show first slide
92
  $list_item = sprintf( '<div class="%s">%s</div>', esc_attr( $row_class ), $list_item );
93
  }
94
 
95
+ $content[] = $list_item;
96
  }
97
  }
98
 
124
  // Collapsible wrapper class
125
  $wrapper_class = apply_filters( PT_CV_PREFIX_ . 'wrapper_collapsible_class', 'panel-group' );
126
 
127
+ $output = sprintf( '<div class="%s" id="%s" %s>%s</div>', esc_attr( $wrapper_class ), esc_attr( $random_id ), $data_attr, implode( "\n", $collapsible_list ) );
128
 
129
  $content[] = $output;
130
  }
220
  $row_html[] = PT_CV_Html::content_item_wrap( $content_item, $item_class );
221
  }
222
 
223
+ $slide_html[] = sprintf( '<div class="%s">%s</div>', esc_attr( $row_class ), implode( "\n", $row_html ) );
224
  }
225
 
226
  // Show first slide
includes/html.php CHANGED
@@ -78,14 +78,14 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
78
  <div class="panel-heading">
79
  <h4 class="panel-title" title="<?php _e( 'Click to toggle', PT_CV_TEXTDOMAIN ); ?>">
80
  <a class="pt-accordion-a" data-parent="#<?php echo esc_attr( $parent_id ); ?>" href="#<?php echo esc_attr( $id ); ?>">
81
- <?php echo balanceTags( $heading ); ?>
82
  </a>
83
  </h4>
84
  <span class="pull-right clickable"><i class="glyphicon glyphicon-minus"></i></span>
85
  </div>
86
  <div id="<?php echo esc_attr( $id ); ?>" class="panel-body <?php echo esc_attr( $class ); ?>">
87
  <div class="panel-body">
88
- <?php echo balanceTags( $content ); ?>
89
  </div>
90
  </div>
91
  </div>
@@ -101,7 +101,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
101
  ?>
102
  <div class="panel panel-default collapse" id="<?php echo esc_attr( PT_CV_PREFIX ); ?>preview-box"></div>
103
  <div class="text-center hidden" style="position: absolute; left: 50%; top: 160px;">
104
- <?php echo balanceTags( self::html_loading_img() ); ?>
105
  </div>
106
  <?php
107
  return ob_get_clean();
@@ -314,7 +314,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
314
  }
315
 
316
  // Join content
317
- $content_list = balanceTags( implode( "\n", $content ) );
318
 
319
  // Custom attribute of a page
320
  $col_count = sprintf( 'data-cvc="%s"', (int) $dargs[ 'number-columns' ] );
@@ -344,7 +344,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
344
  $output = $html;
345
  }
346
 
347
- return force_balance_tags( $before_output ) . balanceTags( $output );
348
  }
349
 
350
  /**
@@ -559,7 +559,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
559
 
560
  // Generate a tag
561
  $html = sprintf(
562
- '<a href="%s" class="%s" target="%s" %s>%s</a>', $href, implode( ' ', array_filter( $href_class ) ), $open_in, implode( ' ', array_filter( $custom_attr ) ), force_balance_tags( $content )
563
  );
564
 
565
  return $html;
@@ -651,9 +651,11 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
651
  $date_class = apply_filters( PT_CV_PREFIX_ . 'field_meta_class', 'entry-date', 'date' );
652
  $prefix_text = apply_filters( PT_CV_PREFIX_ . 'field_meta_prefix_text', '', 'date' );
653
  $date_format = apply_filters( PT_CV_PREFIX_ . 'field_meta_date_format', '' ); // set empty to get default option of WP
654
- $date = apply_filters( PT_CV_PREFIX_ . 'field_meta_date_final', get_the_date( $date_format, $post ), get_the_time( 'U' ) );
 
 
655
 
656
- $html[ 'date' ] = sprintf( '<span class="%s">%s <time datetime="%s">%s</time></span>', esc_html( $date_class ), balanceTags( $prefix_text ), esc_attr( get_the_date( 'c' ) ), esc_html( $date ) );
657
  break;
658
 
659
  case 'taxonomy':
@@ -664,7 +666,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
664
 
665
  $terms = PT_CV_Functions::post_terms( $post );
666
  if ( !empty( $terms ) ) {
667
- $term_html = sprintf( '<span class="%s">%s %s</span>', esc_attr( $term_class ), balanceTags( $prefix_text ), balanceTags( $terms ) );
668
  $html[ 'taxonomy' ] = apply_filters( PT_CV_PREFIX_ . 'field_term_html', $term_html, $terms );
669
  }
670
  break;
@@ -678,7 +680,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
678
  ob_start();
679
  comments_popup_link( __( 'Leave a comment', PT_CV_TEXTDOMAIN ), __( '1 Comment', PT_CV_TEXTDOMAIN ), __( '% Comments', PT_CV_TEXTDOMAIN ) );
680
  $comment_content = ob_get_clean();
681
- $html[ 'comment' ] = sprintf( '<span class="%s">%s %s</span>', esc_attr( $comment_class ), balanceTags( $prefix_text ), $comment_content );
682
  endif;
683
  break;
684
 
@@ -688,7 +690,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
688
  $author_class = apply_filters( PT_CV_PREFIX_ . 'field_meta_class', 'author', 'author' );
689
  $prefix_text = apply_filters( PT_CV_PREFIX_ . 'field_meta_prefix_text', __( 'by', PT_CV_TEXTDOMAIN ), 'author' );
690
 
691
- $author_html = sprintf( '<span class="%s">%s <a href="%s" rel="author">%s</a></span>', esc_attr( $author_class ), balanceTags( $prefix_text ), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), get_the_author() );
692
  $html[ 'author' ] = apply_filters( PT_CV_PREFIX_ . 'field_meta_author_html', $author_html, $post );
693
  break;
694
 
@@ -740,7 +742,7 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
740
  $meta_html = implode( $seperator, (array) $meta_html );
741
 
742
  // Wrap
743
- $html = sprintf( $wrapper, force_balance_tags( $meta_html ) );
744
 
745
  return $html;
746
  }
@@ -768,7 +770,8 @@ if ( !class_exists( 'PT_CV_Html' ) ) {
768
  $style = isset( $dargs[ 'pagination-settings' ][ 'style' ] ) ? $dargs[ 'pagination-settings' ][ 'style' ] : 'regular';
769
 
770
  if ( $type == 'normal' || $style == 'regular' ) {
771
- $pagination_btn = sprintf( '<ul class="%s" data-totalpages="%s" data-sid="%s">%s</ul>', PT_CV_PREFIX . 'pagination' . ' ' . PT_CV_PREFIX . $type . ' pagination', esc_attr( $max_num_pages ), esc_attr( $session_id ), PT_CV_Functions::pagination( $max_num_pages, $current_page ) );
 
772
  } else {
773
  $pagination_btn = apply_filters( PT_CV_PREFIX_ . 'btn_more_html', $pagination_btn, $max_num_pages, $session_id );
774
  }
78
  <div class="panel-heading">
79
  <h4 class="panel-title" title="<?php _e( 'Click to toggle', PT_CV_TEXTDOMAIN ); ?>">
80
  <a class="pt-accordion-a" data-parent="#<?php echo esc_attr( $parent_id ); ?>" href="#<?php echo esc_attr( $id ); ?>">
81
+ <?php echo $heading; ?>
82
  </a>
83
  </h4>
84
  <span class="pull-right clickable"><i class="glyphicon glyphicon-minus"></i></span>
85
  </div>
86
  <div id="<?php echo esc_attr( $id ); ?>" class="panel-body <?php echo esc_attr( $class ); ?>">
87
  <div class="panel-body">
88
+ <?php echo $content; ?>
89
  </div>
90
  </div>
91
  </div>
101
  ?>
102
  <div class="panel panel-default collapse" id="<?php echo esc_attr( PT_CV_PREFIX ); ?>preview-box"></div>
103
  <div class="text-center hidden" style="position: absolute; left: 50%; top: 160px;">
104
+ <?php echo self::html_loading_img(); ?>
105
  </div>
106
  <?php
107
  return ob_get_clean();
314
  }
315
 
316
  // Join content
317
+ $content_list = implode( "\n", $content );
318
 
319
  // Custom attribute of a page
320
  $col_count = sprintf( 'data-cvc="%s"', (int) $dargs[ 'number-columns' ] );
344
  $output = $html;
345
  }
346
 
347
+ return $before_output . $output;
348
  }
349
 
350
  /**
559
 
560
  // Generate a tag
561
  $html = sprintf(
562
+ '<a href="%s" class="%s" target="%s" %s>%s</a>', $href, implode( ' ', array_filter( $href_class ) ), $open_in, implode( ' ', array_filter( $custom_attr ) ), $content
563
  );
564
 
565
  return $html;
651
  $date_class = apply_filters( PT_CV_PREFIX_ . 'field_meta_class', 'entry-date', 'date' );
652
  $prefix_text = apply_filters( PT_CV_PREFIX_ . 'field_meta_prefix_text', '', 'date' );
653
  $date_format = apply_filters( PT_CV_PREFIX_ . 'field_meta_date_format', '' ); // set empty to get default option of WP
654
+ // Used to fix empty date, caused by hook to WordPress "get_the_date" filter of another plugin/active theme
655
+ $date = apply_filters( PT_CV_PREFIX_ . 'field_meta_date_empty', get_the_date( $date_format, $post ), $date_format, $post );
656
+ $date = apply_filters( PT_CV_PREFIX_ . 'field_meta_date_final', $date, get_the_time( 'U' ) );
657
 
658
+ $html[ 'date' ] = sprintf( '<span class="%s">%s <time datetime="%s">%s</time></span>', esc_html( $date_class ), $prefix_text, esc_attr( get_the_date( 'c' ) ), esc_html( $date ) );
659
  break;
660
 
661
  case 'taxonomy':
666
 
667
  $terms = PT_CV_Functions::post_terms( $post );
668
  if ( !empty( $terms ) ) {
669
+ $term_html = sprintf( '<span class="%s">%s %s</span>', esc_attr( $term_class ), $prefix_text, $terms );
670
  $html[ 'taxonomy' ] = apply_filters( PT_CV_PREFIX_ . 'field_term_html', $term_html, $terms );
671
  }
672
  break;
680
  ob_start();
681
  comments_popup_link( __( 'Leave a comment', PT_CV_TEXTDOMAIN ), __( '1 Comment', PT_CV_TEXTDOMAIN ), __( '% Comments', PT_CV_TEXTDOMAIN ) );
682
  $comment_content = ob_get_clean();
683
+ $html[ 'comment' ] = sprintf( '<span class="%s">%s %s</span>', esc_attr( $comment_class ), $prefix_text, $comment_content );
684
  endif;
685
  break;
686
 
690
  $author_class = apply_filters( PT_CV_PREFIX_ . 'field_meta_class', 'author', 'author' );
691
  $prefix_text = apply_filters( PT_CV_PREFIX_ . 'field_meta_prefix_text', __( 'by', PT_CV_TEXTDOMAIN ), 'author' );
692
 
693
+ $author_html = sprintf( '<span class="%s">%s <a href="%s" rel="author">%s</a></span>', esc_attr( $author_class ), $prefix_text, esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), get_the_author() );
694
  $html[ 'author' ] = apply_filters( PT_CV_PREFIX_ . 'field_meta_author_html', $author_html, $post );
695
  break;
696
 
742
  $meta_html = implode( $seperator, (array) $meta_html );
743
 
744
  // Wrap
745
+ $html = sprintf( $wrapper, $meta_html );
746
 
747
  return $html;
748
  }
770
  $style = isset( $dargs[ 'pagination-settings' ][ 'style' ] ) ? $dargs[ 'pagination-settings' ][ 'style' ] : 'regular';
771
 
772
  if ( $type == 'normal' || $style == 'regular' ) {
773
+ $ul_class = implode( ' ', array( PT_CV_PREFIX . 'pagination', PT_CV_PREFIX . $type, 'pagination' ) );
774
+ $pagination_btn = sprintf( '<ul class="%s" data-totalpages="%s" data-sid="%s">%s</ul>', $ul_class, esc_attr( $max_num_pages ), esc_attr( $session_id ), PT_CV_Functions::pagination( $max_num_pages, $current_page ) );
775
  } else {
776
  $pagination_btn = apply_filters( PT_CV_PREFIX_ . 'btn_more_html', $pagination_btn, $max_num_pages, $session_id );
777
  }
includes/settings.php CHANGED
@@ -53,8 +53,6 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
53
  ),
54
  ),
55
  ),
56
- // Quick filter
57
- apply_filters( PT_CV_PREFIX_ . 'term_quick_filter', array() ),
58
  //Operator
59
  array(
60
  'label' => array(
@@ -156,7 +154,7 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
156
  'std' => '5',
157
  'placeholder' => 'e.g. 5',
158
  'append_text' => '1 &rarr; 100',
159
- 'desc' => __( 'The number of items per page.<br>If value of <code>Limit</code> option is not blank (empty), this value should be smaller than <code>Limit</code> value', PT_CV_TEXTDOMAIN ),
160
  ),
161
  ),
162
  'dependence' => array( 'enable-pagination', 'yes' ),
@@ -273,23 +271,8 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
273
  ),
274
  ),
275
  ),
276
- // Upgrade to Pro
277
- !get_option( 'pt_cv_version_pro' ) ? array(
278
- 'label' => array(
279
- 'text' => '',
280
- ),
281
- 'extra_setting' => array(
282
- 'params' => array(
283
- 'width' => 12,
284
- ),
285
- ),
286
- 'params' => array(
287
- array(
288
- 'type' => 'html',
289
- 'content' => sprintf( '<p class="text-muted" style="margin-top: -15px; margin-bottom: 5px;">&rarr; %s</p>', __( 'Customize display order of above fields by a simple drag-and-drop ?', PT_CV_TEXTDOMAIN ) . sprintf( ' <a href="%s" target="_blank">%s</a>', esc_url( 'http://www.contentviewspro.com/pricing/?utm_source=client&utm_medium=view' ), __( 'Please upgrade to Pro', PT_CV_TEXTDOMAIN ) ) ),
290
- ),
291
- ),
292
- ) : '',
293
  // Title settings
294
  apply_filters( PT_CV_PREFIX_ . 'settings_title_display', array(), $prefix, $prefix2 ),
295
  // Thumbnail settings
@@ -371,6 +354,8 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
371
  ),
372
  ),
373
  ),
 
 
374
  // Allow HTML tags
375
  array(
376
  'label' => array(
@@ -721,7 +706,7 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
721
  'name' => $prefix . 'number-columns',
722
  'std' => '2',
723
  'append_text' => '1 &rarr; 4',
724
- 'desc' => __( 'The number of items per row of grid', PT_CV_TEXTDOMAIN ),
725
  ),
726
  ),
727
  'dependence' => array( 'view-type', 'grid' ),
@@ -794,6 +779,33 @@ if ( !class_exists( 'PT_CV_Settings' ) ) {
794
  );
795
  }
796
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
797
  }
798
 
799
  }
53
  ),
54
  ),
55
  ),
 
 
56
  //Operator
57
  array(
58
  'label' => array(
154
  'std' => '5',
155
  'placeholder' => 'e.g. 5',
156
  'append_text' => '1 &rarr; 100',
157
+ 'desc' => __( 'The number of items per page.<br>If value of <code>Limit</code> setting is not blank (empty), this value should be smaller than <code>Limit</code> value', PT_CV_TEXTDOMAIN ),
158
  ),
159
  ),
160
  'dependence' => array( 'enable-pagination', 'yes' ),
271
  ),
272
  ),
273
  ),
274
+ // Upgrade to Pro: Drag & Drop
275
+ !get_option( 'pt_cv_version_pro' ) ? PT_CV_Settings::get_cvpro( __( 'Display Title above Thumbnail?', PT_CV_TEXTDOMAIN ), 12, 'margin-top: -15px; margin-bottom: 5px;' ) : '',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
  // Title settings
277
  apply_filters( PT_CV_PREFIX_ . 'settings_title_display', array(), $prefix, $prefix2 ),
278
  // Thumbnail settings
354
  ),
355
  ),
356
  ),
357
+ // Upgrade to Pro: Manual excerpt
358
+ !get_option( 'pt_cv_version_pro' ) ? PT_CV_Settings::get_cvpro( __( 'Use manual excerpt?', PT_CV_TEXTDOMAIN ), 9 ) : '',
359
  // Allow HTML tags
360
  array(
361
  'label' => array(
706
  'name' => $prefix . 'number-columns',
707
  'std' => '2',
708
  'append_text' => '1 &rarr; 4',
709
+ 'desc' => __( 'The number of columns in layout', PT_CV_TEXTDOMAIN ),
710
  ),
711
  ),
712
  'dependence' => array( 'view-type', 'grid' ),
779
  );
780
  }
781
 
782
+ /**
783
+ * Show Get CVPro suggestioin
784
+ * @param string $text
785
+ * @param int $width
786
+ * @return type
787
+ */
788
+ static function get_cvpro( $text, $width, $style = '' ) {
789
+ $url = sprintf( ' <a href="%s" target="_blank">%s</a>', esc_url( 'http://www.contentviewspro.com/pricing/?utm_source=client&utm_medium=view' ), __( 'Get CVPro now!', PT_CV_TEXTDOMAIN ) );
790
+
791
+ return array(
792
+ 'label' => array(
793
+ 'text' => '',
794
+ ),
795
+ 'extra_setting' => array(
796
+ 'params' => array(
797
+ 'width' => $width,
798
+ ),
799
+ ),
800
+ 'params' => array(
801
+ array(
802
+ 'type' => 'html',
803
+ 'content' => sprintf( '<p class="text-muted" style="%s">&rarr; %s</p>', $style, $text . $url ),
804
+ ),
805
+ ),
806
+ );
807
+ }
808
+
809
  }
810
 
811
  }
languages/content-views-query-and-display-post-page.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Content Views\n"
4
- "POT-Creation-Date: 2015-10-05 18:05+0700\n"
5
- "PO-Revision-Date: 2015-10-06 15:21+0700\n"
6
  "Last-Translator: \n"
7
  "Language-Team: PT Guy <support@contentviewspro.com>\n"
8
  "MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr ""
26
  msgid "Opening a link is prevented in preview box"
27
  msgstr ""
28
 
29
- #: code/admin/content-views-admin.php:258 code/admin/views/view.php:72
30
  msgid "Show Preview"
31
  msgstr ""
32
 
@@ -46,11 +46,11 @@ msgstr ""
46
  msgid "All Content Views"
47
  msgstr ""
48
 
49
- #: code/admin/content-views-admin.php:307 code/public/content-views.php:270
50
  msgid "All Views"
51
  msgstr ""
52
 
53
- #: code/admin/content-views-admin.php:311 code/public/content-views.php:266
54
  msgid "Add New View"
55
  msgstr ""
56
 
@@ -58,7 +58,7 @@ msgstr ""
58
  msgid "Add New"
59
  msgstr ""
60
 
61
- #: code/admin/content-views-admin.php:362 code/admin/includes/options.php:348
62
  msgid "Settings"
63
  msgstr ""
64
 
@@ -78,7 +78,7 @@ msgstr ""
78
  msgid "Shortcode"
79
  msgstr ""
80
 
81
- #: code/admin/content-views-admin.php:416 code/includes/values.php:274
82
  msgid "Author"
83
  msgstr ""
84
 
@@ -86,7 +86,7 @@ msgstr ""
86
  msgid "Date"
87
  msgstr ""
88
 
89
- #: code/admin/includes/options.php:276 code/includes/settings.php:791
90
  msgid "There is no option"
91
  msgstr ""
92
 
@@ -94,202 +94,205 @@ msgstr ""
94
  msgid "Frontend assets"
95
  msgstr ""
96
 
97
- #: code/admin/includes/plugin.php:170
98
  msgid "Don't load <b>Bootstrap 3</b> style & script (in frontend of website)"
99
  msgstr ""
100
 
101
- #: code/admin/includes/plugin.php:170
102
  msgid ""
103
  "Only tick this option if Bootstrap has been loaded by active theme or other "
104
  "plugins"
105
  msgstr ""
106
 
107
- #: code/admin/views/view.php:39 code/public/content-views.php:268
 
 
 
 
 
108
  msgid "Edit View"
109
  msgstr ""
110
 
111
- #: code/admin/views/view.php:55
112
  msgid "Preview"
113
  msgstr ""
114
 
115
- #: code/admin/views/view.php:62
116
  msgid ""
117
- "Click \"Show Preview\" or \"Update Preview\" button to show, \"Hide Preview"
118
- "\" button to hide the output"
119
  msgstr ""
120
 
121
- #: code/admin/views/view.php:96
122
  msgid "View title"
123
  msgstr ""
124
 
125
- #: code/admin/views/view.php:103
126
  msgid "Enter a name to identify your views easily"
127
  msgstr ""
128
 
129
- #: code/admin/views/view.php:113 code/admin/views/view.php:586
130
  msgid "Save"
131
  msgstr ""
132
 
133
- #: code/admin/views/view.php:119 code/includes/hooks.php:52
134
  msgid "Filter Settings"
135
  msgstr ""
136
 
137
- #: code/admin/views/view.php:123 code/includes/hooks.php:53
138
  msgid "Display Settings"
139
  msgstr ""
140
 
141
- #: code/admin/views/view.php:138 code/includes/hooks.php:62
142
  msgid "Content type"
143
  msgstr ""
144
 
145
- #: code/admin/views/view.php:162
146
- msgid "Filter custom content type (or post type) ?"
147
- msgstr ""
148
-
149
- #: code/admin/views/view.php:162 code/includes/settings.php:289
150
- msgid "Please upgrade to Pro"
151
  msgstr ""
152
 
153
- #: code/admin/views/view.php:170
154
  msgid "Common filters"
155
  msgstr ""
156
 
157
- #: code/admin/views/view.php:185
158
  msgid "In list"
159
  msgstr ""
160
 
161
- #: code/admin/views/view.php:192
162
- msgid ""
163
- "List of post ids to retrieve (comma-separated values, e.g. 1,2,3).<br>A post "
164
- "is displayed only if its ID is equal to any of the values IN this list"
165
  msgstr ""
166
 
167
- #: code/admin/views/view.php:200
168
  msgid "Excludes"
169
  msgstr ""
170
 
171
- #: code/admin/views/view.php:207
172
  msgid "List of post ids to exclude (comma-separated values, e.g. 1,2,3)"
173
  msgstr ""
174
 
175
- #: code/admin/views/view.php:215
176
  msgid "Parent page"
177
  msgstr ""
178
 
179
- #: code/admin/views/view.php:222
180
  msgid "Enter ID of parent page to query child pages"
181
  msgstr ""
182
 
183
- #: code/admin/views/view.php:231
184
  msgid "Limit"
185
  msgstr ""
186
 
187
- #: code/admin/views/view.php:240
188
  msgid ""
189
  "The number of posts to show. Set empty to show all found posts (which match "
190
  "all filter settings)"
191
  msgstr ""
192
 
193
- #: code/admin/views/view.php:252
 
 
 
 
194
  msgid "Advanced filters"
195
  msgstr ""
196
 
197
- #: code/admin/views/view.php:307
198
  msgid "Taxonomies"
199
  msgstr ""
200
 
201
- #: code/admin/views/view.php:321
202
  msgid "Tick checkbox of taxonomies to filter posts by their terms"
203
  msgstr ""
204
 
205
- #: code/admin/views/view.php:328
206
  msgid "Terms"
207
  msgstr ""
208
 
209
- #: code/admin/views/view.php:349
210
  msgid "Relation"
211
  msgstr ""
212
 
213
- #: code/admin/views/view.php:358
214
  msgid ""
215
  "Select AND to show posts which match ALL settings of selected taxonomies."
216
  "<br>Select OR to show posts which match settings of at least one selected "
217
  "taxonomy"
218
  msgstr ""
219
 
220
- #: code/admin/views/view.php:368 code/includes/settings.php:90
221
  msgid "Order by"
222
  msgstr ""
223
 
224
- #: code/admin/views/view.php:390
225
  msgid "Written by"
226
  msgstr ""
227
 
228
- #: code/admin/views/view.php:406
229
  msgid "Not written by"
230
  msgstr ""
231
 
232
- #: code/admin/views/view.php:424 code/includes/values.php:271
233
  msgid "Status"
234
  msgstr ""
235
 
236
- #: code/admin/views/view.php:434
237
  msgid "Select status of posts"
238
  msgstr ""
239
 
240
- #: code/admin/views/view.php:443
241
  msgid "Keyword"
242
  msgstr ""
243
 
244
- #: code/admin/views/view.php:450
245
  msgid "Enter the keyword to searching for posts."
246
  msgstr ""
247
 
248
- #: code/admin/views/view.php:473
249
  msgid "View type (Layout)"
250
  msgstr ""
251
 
252
- #: code/admin/views/view.php:487 code/includes/hooks.php:97
253
  msgid "View type settings"
254
  msgstr ""
255
 
256
- #: code/admin/views/view.php:505 code/includes/hooks.php:75
257
  msgid "Layout format"
258
  msgstr ""
259
 
260
- #: code/admin/views/view.php:513
261
  msgid "This is layout format of output for each post"
262
  msgstr ""
263
 
264
- #: code/admin/views/view.php:520 code/includes/hooks.php:80
265
  msgid "Fields settings"
266
  msgstr ""
267
 
268
- #: code/admin/views/view.php:538 code/includes/hooks.php:86
269
  msgid "Pagination settings"
270
  msgstr ""
271
 
272
- #: code/admin/views/view.php:555
273
  msgid "Other settings"
274
  msgstr ""
275
 
276
- #: code/includes/functions.php:424
277
  msgid "View all posts in"
278
  msgstr ""
279
 
280
- #: code/includes/functions.php:483 code/includes/html.php:453
281
  msgid "(no title)"
282
  msgstr ""
283
 
284
- #: code/includes/functions.php:547
285
  msgid "Sorry, your nonce did not verify."
286
  msgstr ""
287
 
288
- #: code/includes/functions.php:625
289
  msgid "Empty settings"
290
  msgstr ""
291
 
292
- #: code/includes/functions.php:823
293
  msgid "No post found"
294
  msgstr ""
295
 
@@ -309,67 +312,67 @@ msgstr ""
309
  msgid "Fields display"
310
  msgstr ""
311
 
312
- #: code/includes/hooks.php:86 code/includes/settings.php:150
313
  msgid "Items per page"
314
  msgstr ""
315
 
316
- #: code/includes/hooks.php:97 code/includes/settings.php:716
317
  msgid "Items per row"
318
  msgstr ""
319
 
320
- #: code/includes/html.php:88
321
  msgid "Click to toggle"
322
  msgstr ""
323
 
324
- #: code/includes/html.php:127
325
  msgid "loading"
326
  msgstr ""
327
 
328
- #: code/includes/html.php:502
329
  msgid "Read More"
330
  msgstr ""
331
 
332
- #: code/includes/html.php:674
333
  msgid "in"
334
  msgstr ""
335
 
336
- #: code/includes/html.php:690
337
  msgid "Leave a comment"
338
  msgstr ""
339
 
340
- #: code/includes/html.php:690
341
  msgid "1 Comment"
342
  msgstr ""
343
 
344
- #: code/includes/html.php:690
345
  msgid "% Comments"
346
  msgstr ""
347
 
348
- #: code/includes/html.php:700
349
  msgid "by"
350
  msgstr ""
351
 
352
- #: code/includes/html.php:917
353
  msgid "Go to first page"
354
  msgstr ""
355
 
356
- #: code/includes/html.php:918
357
  msgid "Go to previous page"
358
  msgstr ""
359
 
360
- #: code/includes/html.php:919
361
  msgid "Go to next page"
362
  msgstr ""
363
 
364
- #: code/includes/html.php:920
365
  msgid "Go to last page"
366
  msgstr ""
367
 
368
- #: code/includes/html.php:921
369
  msgid "Current page is"
370
  msgstr ""
371
 
372
- #: code/includes/html.php:922
373
  msgid "Go to page"
374
  msgstr ""
375
 
@@ -377,329 +380,333 @@ msgstr ""
377
  msgid "Select terms"
378
  msgstr ""
379
 
380
- #: code/includes/settings.php:61
381
  msgid "Operator"
382
  msgstr ""
383
 
384
- #: code/includes/settings.php:98
385
  msgid "Select a criteria to sort by"
386
  msgstr ""
387
 
388
- #: code/includes/settings.php:105
389
  msgid "Order"
390
  msgstr ""
391
 
392
- #: code/includes/settings.php:136
393
  msgid "Pagination"
394
  msgstr ""
395
 
396
- #: code/includes/settings.php:142
397
  msgid "Enable"
398
  msgstr ""
399
 
400
- #: code/includes/settings.php:159
401
  msgid ""
402
- "The number of items per page.<br>If value of \"Limit\" option is not blank "
403
- "(empty), this value should be smaller than \"Limit\" value"
404
  msgstr ""
405
 
406
- #: code/includes/settings.php:167
407
  msgid "Pagination type"
408
  msgstr ""
409
 
410
- #: code/includes/settings.php:195
411
  msgid "Pagination style"
412
  msgstr ""
413
 
414
- #: code/includes/settings.php:230
415
  msgid "Open item in"
416
  msgstr ""
417
 
418
- #: code/includes/settings.php:238
419
  msgid "How to open an item when click on Title, Thumbnail, Read more button"
420
  msgstr ""
421
 
422
- #: code/includes/settings.php:289
423
- msgid "Customize display order of above fields by a simple drag-and-drop ?"
424
  msgstr ""
425
 
426
- #: code/includes/settings.php:298
427
  msgid "Thumbnail settings"
428
  msgstr ""
429
 
430
- #: code/includes/settings.php:317
431
  msgid "Content settings"
432
  msgstr ""
433
 
434
- #: code/includes/settings.php:329
435
  msgid "Show Full Content"
436
  msgstr ""
437
 
438
- #: code/includes/settings.php:330
439
  msgid "Show Excerpt"
440
  msgstr ""
441
 
442
- #: code/includes/settings.php:356
443
  msgid "Excerpt settings"
444
  msgstr ""
445
 
446
- #: code/includes/settings.php:370
447
  msgid "Generating excerpt by selecting the first X words of the content"
448
  msgstr ""
449
 
450
- #: code/includes/settings.php:389
 
 
 
 
451
  msgid "Allow HTML tags (a, br, strong, em, strike, i, ul, ol, li) in excerpt"
452
  msgstr ""
453
 
454
- #: code/includes/settings.php:403
455
  msgid "Meta fields settings"
456
  msgstr ""
457
 
458
- #: code/includes/settings.php:475
459
  msgid "Thumbnail position"
460
  msgstr ""
461
 
462
- #: code/includes/settings.php:506
463
  msgid "Show Thumbnail"
464
  msgstr ""
465
 
466
- #: code/includes/settings.php:526
467
  msgid "Show Title"
468
  msgstr ""
469
 
470
- #: code/includes/settings.php:545
471
  msgid "Show Content"
472
  msgstr ""
473
 
474
- #: code/includes/settings.php:564
475
  msgid "Show Meta Fields (Author, Date, Comment...)"
476
  msgstr ""
477
 
478
- #: code/includes/settings.php:589
479
  msgid "Thumbnail size"
480
  msgstr ""
481
 
482
- #: code/includes/settings.php:632
483
  msgid "Show Date"
484
  msgstr ""
485
 
486
- #: code/includes/settings.php:651
487
  msgid "Show Author"
488
  msgstr ""
489
 
490
- #: code/includes/settings.php:670
491
  msgid "Show Taxonomies (categories, tags...)"
492
  msgstr ""
493
 
494
- #: code/includes/settings.php:690
495
  msgid "Show Comment Count"
496
  msgstr ""
497
 
498
- #: code/includes/settings.php:724
499
- msgid "The number of items per row of grid"
500
  msgstr ""
501
 
502
- #: code/includes/values.php:93 code/includes/values.php:106
503
  msgid "AND"
504
  msgstr ""
505
 
506
- #: code/includes/values.php:94
507
  msgid "OR"
508
  msgstr ""
509
 
510
- #: code/includes/values.php:104
511
  msgid "IN"
512
  msgstr ""
513
 
514
- #: code/includes/values.php:104
515
  msgid ""
516
  "A post is displayed only if it associated with at least one value in terms "
517
  "list"
518
  msgstr ""
519
 
520
- #: code/includes/values.php:105
521
  msgid "NOT IN"
522
  msgstr ""
523
 
524
- #: code/includes/values.php:105
525
  msgid ""
526
  "A post is displayed only if it did NOT associated with any values in terms "
527
  "list"
528
  msgstr ""
529
 
530
- #: code/includes/values.php:106
531
  msgid "A post is displayed only if it associated with all values in terms list"
532
  msgstr ""
533
 
534
- #: code/includes/values.php:181
535
  msgid "Yes"
536
  msgstr ""
537
 
538
- #: code/includes/values.php:182
539
  msgid "No"
540
  msgstr ""
541
 
542
- #: code/includes/values.php:198
543
  msgid "Show"
544
  msgstr ""
545
 
546
- #: code/includes/values.php:199
547
  msgid "Hide"
548
  msgstr ""
549
 
550
- #: code/includes/values.php:210
551
  msgid "Ajax"
552
  msgstr ""
553
 
554
- #: code/includes/values.php:211
555
  msgid "Normal"
556
  msgstr ""
557
 
558
- #: code/includes/values.php:226
559
  msgid "Numbered pagination"
560
  msgstr ""
561
 
562
- #: code/includes/values.php:241
563
  msgid "ASC"
564
  msgstr ""
565
 
566
- #: code/includes/values.php:242
567
  msgid "DESC"
568
  msgstr ""
569
 
570
- #: code/includes/values.php:251
571
  msgid "Publish"
572
  msgstr ""
573
 
574
- #: code/includes/values.php:252
575
  msgid "Pending"
576
  msgstr ""
577
 
578
- #: code/includes/values.php:253
579
  msgid "Draft"
580
  msgstr ""
581
 
582
- #: code/includes/values.php:254
583
  msgid "Auto draft"
584
  msgstr ""
585
 
586
- #: code/includes/values.php:255
587
  msgid "Future"
588
  msgstr ""
589
 
590
- #: code/includes/values.php:256
591
  msgid "Private"
592
  msgstr ""
593
 
594
- #: code/includes/values.php:257
595
  msgid "Inherit"
596
  msgstr ""
597
 
598
- #: code/includes/values.php:258
599
  msgid "Trash"
600
  msgstr ""
601
 
602
- #: code/includes/values.php:270
603
  msgid "Taxonomy (Categories, Tags...)"
604
  msgstr ""
605
 
606
- #: code/includes/values.php:272
607
  msgid "Order & Orderby"
608
  msgstr ""
609
 
610
- #: code/includes/values.php:273
611
  msgid "Search"
612
  msgstr ""
613
 
614
- #: code/includes/values.php:288 code/includes/values.php:323
615
  msgid "&mdash; Select &mdash;"
616
  msgstr ""
617
 
618
- #: code/includes/values.php:324
619
  msgid "ID"
620
  msgstr ""
621
 
622
- #: code/includes/values.php:325
623
  msgid "Title"
624
  msgstr ""
625
 
626
- #: code/includes/values.php:326
627
  msgid "Created date"
628
  msgstr ""
629
 
630
- #: code/includes/values.php:327
631
  msgid "Modified date"
632
  msgstr ""
633
 
634
- #: code/includes/values.php:343
635
  msgid "Grid"
636
  msgstr ""
637
 
638
- #: code/includes/values.php:344
639
  msgid "Collapsible List"
640
  msgstr ""
641
 
642
- #: code/includes/values.php:345
643
  msgid "Scrollable List"
644
  msgstr ""
645
 
646
- #: code/includes/values.php:384
647
  msgid ""
648
  "1 column &#8212; All fields inside an output item are shown in one column"
649
  msgstr ""
650
 
651
- #: code/includes/values.php:385
652
  msgid "2 columns &#8212; Show thumbnail on the left/right side of other fields"
653
  msgstr ""
654
 
655
- #: code/includes/values.php:399
656
  msgid "Current tab"
657
  msgstr ""
658
 
659
- #: code/includes/values.php:400
660
  msgid "New tab"
661
  msgstr ""
662
 
663
- #: code/includes/values.php:448
664
  msgid "Full image"
665
  msgstr ""
666
 
667
- #: code/includes/values.php:471
668
  msgid "Top"
669
  msgstr ""
670
 
671
- #: code/includes/values.php:472 code/includes/values.php:490
672
  msgid "Left"
673
  msgstr ""
674
 
675
- #: code/includes/values.php:473
676
  msgid "Bottom"
677
  msgstr ""
678
 
679
- #: code/includes/values.php:474 code/includes/values.php:491
680
  msgid "Right"
681
  msgstr ""
682
 
683
- #: code/public/content-views.php:267
684
  msgid "New View"
685
  msgstr ""
686
 
687
- #: code/public/content-views.php:269
688
  msgid "View View"
689
  msgstr ""
690
 
691
- #: code/public/content-views.php:271
692
  msgid "Search Views"
693
  msgstr ""
694
 
695
- #: code/public/content-views.php:272
696
  msgid "Parent Views:"
697
  msgstr ""
698
 
699
- #: code/public/content-views.php:273
700
  msgid "No views found."
701
  msgstr ""
702
 
703
- #: code/public/content-views.php:274
704
  msgid "No views found in Trash."
705
  msgstr ""
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Content Views\n"
4
+ "POT-Creation-Date: 2015-11-17 23:10+0700\n"
5
+ "PO-Revision-Date: 2015-11-17 23:10+0700\n"
6
  "Last-Translator: \n"
7
  "Language-Team: PT Guy <support@contentviewspro.com>\n"
8
  "MIME-Version: 1.0\n"
26
  msgid "Opening a link is prevented in preview box"
27
  msgstr ""
28
 
29
+ #: code/admin/content-views-admin.php:258 code/admin/views/view.php:78
30
  msgid "Show Preview"
31
  msgstr ""
32
 
46
  msgid "All Content Views"
47
  msgstr ""
48
 
49
+ #: code/admin/content-views-admin.php:307 code/public/content-views.php:293
50
  msgid "All Views"
51
  msgstr ""
52
 
53
+ #: code/admin/content-views-admin.php:311 code/public/content-views.php:289
54
  msgid "Add New View"
55
  msgstr ""
56
 
58
  msgid "Add New"
59
  msgstr ""
60
 
61
+ #: code/admin/content-views-admin.php:362 code/admin/includes/options.php:345
62
  msgid "Settings"
63
  msgstr ""
64
 
78
  msgid "Shortcode"
79
  msgstr ""
80
 
81
+ #: code/admin/content-views-admin.php:416 code/includes/values.php:275
82
  msgid "Author"
83
  msgstr ""
84
 
86
  msgid "Date"
87
  msgstr ""
88
 
89
+ #: code/admin/includes/options.php:275 code/includes/settings.php:776
90
  msgid "There is no option"
91
  msgstr ""
92
 
94
  msgid "Frontend assets"
95
  msgstr ""
96
 
97
+ #: code/admin/includes/plugin.php:169
98
  msgid "Don't load <b>Bootstrap 3</b> style & script (in frontend of website)"
99
  msgstr ""
100
 
101
+ #: code/admin/includes/plugin.php:169
102
  msgid ""
103
  "Only tick this option if Bootstrap has been loaded by active theme or other "
104
  "plugins"
105
  msgstr ""
106
 
107
+ #: code/admin/includes/templates/settings-section-one.php:8
108
+ #: code/includes/settings.php:789
109
+ msgid "Get CVPro now!"
110
+ msgstr ""
111
+
112
+ #: code/admin/views/view.php:39 code/public/content-views.php:291
113
  msgid "Edit View"
114
  msgstr ""
115
 
116
+ #: code/admin/views/view.php:61
117
  msgid "Preview"
118
  msgstr ""
119
 
120
+ #: code/admin/views/view.php:68
121
  msgid ""
122
+ "Click <strong>Show Preview</strong> or <strong>Update Preview</strong> "
123
+ "button to show, <strong>Hide Preview</strong> button to hide the output"
124
  msgstr ""
125
 
126
+ #: code/admin/views/view.php:102
127
  msgid "View title"
128
  msgstr ""
129
 
130
+ #: code/admin/views/view.php:109
131
  msgid "Enter a name to identify your views easily"
132
  msgstr ""
133
 
134
+ #: code/admin/views/view.php:119 code/admin/views/view.php:577
135
  msgid "Save"
136
  msgstr ""
137
 
138
+ #: code/admin/views/view.php:125 code/includes/hooks.php:52
139
  msgid "Filter Settings"
140
  msgstr ""
141
 
142
+ #: code/admin/views/view.php:129 code/includes/hooks.php:53
143
  msgid "Display Settings"
144
  msgstr ""
145
 
146
+ #: code/admin/views/view.php:144 code/includes/hooks.php:62
147
  msgid "Content type"
148
  msgstr ""
149
 
150
+ #: code/admin/views/view.php:156
151
+ msgid "Filter custom post type (product, event...) ?"
 
 
 
 
152
  msgstr ""
153
 
154
+ #: code/admin/views/view.php:161
155
  msgid "Common filters"
156
  msgstr ""
157
 
158
+ #: code/admin/views/view.php:176
159
  msgid "In list"
160
  msgstr ""
161
 
162
+ #: code/admin/views/view.php:183
163
+ msgid "List of post ids to include (comma-separated values, e.g. 1,2,3)"
 
 
164
  msgstr ""
165
 
166
+ #: code/admin/views/view.php:191
167
  msgid "Excludes"
168
  msgstr ""
169
 
170
+ #: code/admin/views/view.php:198
171
  msgid "List of post ids to exclude (comma-separated values, e.g. 1,2,3)"
172
  msgstr ""
173
 
174
+ #: code/admin/views/view.php:206
175
  msgid "Parent page"
176
  msgstr ""
177
 
178
+ #: code/admin/views/view.php:213
179
  msgid "Enter ID of parent page to query child pages"
180
  msgstr ""
181
 
182
+ #: code/admin/views/view.php:222
183
  msgid "Limit"
184
  msgstr ""
185
 
186
+ #: code/admin/views/view.php:231
187
  msgid ""
188
  "The number of posts to show. Set empty to show all found posts (which match "
189
  "all filter settings)"
190
  msgstr ""
191
 
192
+ #: code/admin/views/view.php:236
193
+ msgid "Skip initial post(s)?"
194
+ msgstr ""
195
+
196
+ #: code/admin/views/view.php:244
197
  msgid "Advanced filters"
198
  msgstr ""
199
 
200
+ #: code/admin/views/view.php:299
201
  msgid "Taxonomies"
202
  msgstr ""
203
 
204
+ #: code/admin/views/view.php:313
205
  msgid "Tick checkbox of taxonomies to filter posts by their terms"
206
  msgstr ""
207
 
208
+ #: code/admin/views/view.php:320
209
  msgid "Terms"
210
  msgstr ""
211
 
212
+ #: code/admin/views/view.php:341
213
  msgid "Relation"
214
  msgstr ""
215
 
216
+ #: code/admin/views/view.php:350
217
  msgid ""
218
  "Select AND to show posts which match ALL settings of selected taxonomies."
219
  "<br>Select OR to show posts which match settings of at least one selected "
220
  "taxonomy"
221
  msgstr ""
222
 
223
+ #: code/admin/views/view.php:360 code/includes/settings.php:88
224
  msgid "Order by"
225
  msgstr ""
226
 
227
+ #: code/admin/views/view.php:382
228
  msgid "Written by"
229
  msgstr ""
230
 
231
+ #: code/admin/views/view.php:398
232
  msgid "Not written by"
233
  msgstr ""
234
 
235
+ #: code/admin/views/view.php:416 code/includes/values.php:272
236
  msgid "Status"
237
  msgstr ""
238
 
239
+ #: code/admin/views/view.php:426
240
  msgid "Select status of posts"
241
  msgstr ""
242
 
243
+ #: code/admin/views/view.php:435
244
  msgid "Keyword"
245
  msgstr ""
246
 
247
+ #: code/admin/views/view.php:442
248
  msgid "Enter the keyword to searching for posts."
249
  msgstr ""
250
 
251
+ #: code/admin/views/view.php:465
252
  msgid "View type (Layout)"
253
  msgstr ""
254
 
255
+ #: code/admin/views/view.php:479 code/includes/hooks.php:97
256
  msgid "View type settings"
257
  msgstr ""
258
 
259
+ #: code/admin/views/view.php:496 code/includes/hooks.php:75
260
  msgid "Layout format"
261
  msgstr ""
262
 
263
+ #: code/admin/views/view.php:504
264
  msgid "This is layout format of output for each post"
265
  msgstr ""
266
 
267
+ #: code/admin/views/view.php:511 code/includes/hooks.php:80
268
  msgid "Fields settings"
269
  msgstr ""
270
 
271
+ #: code/admin/views/view.php:529 code/includes/hooks.php:86
272
  msgid "Pagination settings"
273
  msgstr ""
274
 
275
+ #: code/admin/views/view.php:546
276
  msgid "Other settings"
277
  msgstr ""
278
 
279
+ #: code/includes/functions.php:428
280
  msgid "View all posts in"
281
  msgstr ""
282
 
283
+ #: code/includes/functions.php:489 code/includes/html.php:439
284
  msgid "(no title)"
285
  msgstr ""
286
 
287
+ #: code/includes/functions.php:553
288
  msgid "Sorry, your nonce did not verify."
289
  msgstr ""
290
 
291
+ #: code/includes/functions.php:631
292
  msgid "Empty settings"
293
  msgstr ""
294
 
295
+ #: code/includes/functions.php:835
296
  msgid "No post found"
297
  msgstr ""
298
 
312
  msgid "Fields display"
313
  msgstr ""
314
 
315
+ #: code/includes/hooks.php:86 code/includes/settings.php:148
316
  msgid "Items per page"
317
  msgstr ""
318
 
319
+ #: code/includes/hooks.php:97 code/includes/settings.php:701
320
  msgid "Items per row"
321
  msgstr ""
322
 
323
+ #: code/includes/html.php:79
324
  msgid "Click to toggle"
325
  msgstr ""
326
 
327
+ #: code/includes/html.php:118
328
  msgid "loading"
329
  msgstr ""
330
 
331
+ #: code/includes/html.php:488
332
  msgid "Read More"
333
  msgstr ""
334
 
335
+ #: code/includes/html.php:663
336
  msgid "in"
337
  msgstr ""
338
 
339
+ #: code/includes/html.php:679
340
  msgid "Leave a comment"
341
  msgstr ""
342
 
343
+ #: code/includes/html.php:679
344
  msgid "1 Comment"
345
  msgstr ""
346
 
347
+ #: code/includes/html.php:679
348
  msgid "% Comments"
349
  msgstr ""
350
 
351
+ #: code/includes/html.php:689
352
  msgid "by"
353
  msgstr ""
354
 
355
+ #: code/includes/html.php:872
356
  msgid "Go to first page"
357
  msgstr ""
358
 
359
+ #: code/includes/html.php:873
360
  msgid "Go to previous page"
361
  msgstr ""
362
 
363
+ #: code/includes/html.php:874
364
  msgid "Go to next page"
365
  msgstr ""
366
 
367
+ #: code/includes/html.php:875
368
  msgid "Go to last page"
369
  msgstr ""
370
 
371
+ #: code/includes/html.php:876
372
  msgid "Current page is"
373
  msgstr ""
374
 
375
+ #: code/includes/html.php:877
376
  msgid "Go to page"
377
  msgstr ""
378
 
380
  msgid "Select terms"
381
  msgstr ""
382
 
383
+ #: code/includes/settings.php:59
384
  msgid "Operator"
385
  msgstr ""
386
 
387
+ #: code/includes/settings.php:96
388
  msgid "Select a criteria to sort by"
389
  msgstr ""
390
 
391
+ #: code/includes/settings.php:103
392
  msgid "Order"
393
  msgstr ""
394
 
395
+ #: code/includes/settings.php:134
396
  msgid "Pagination"
397
  msgstr ""
398
 
399
+ #: code/includes/settings.php:140
400
  msgid "Enable"
401
  msgstr ""
402
 
403
+ #: code/includes/settings.php:157
404
  msgid ""
405
+ "The number of items per page.<br>If value of <code>Limit</code> setting is "
406
+ "not blank (empty), this value should be smaller than <code>Limit</code> value"
407
  msgstr ""
408
 
409
+ #: code/includes/settings.php:165
410
  msgid "Pagination type"
411
  msgstr ""
412
 
413
+ #: code/includes/settings.php:193
414
  msgid "Pagination style"
415
  msgstr ""
416
 
417
+ #: code/includes/settings.php:228
418
  msgid "Open item in"
419
  msgstr ""
420
 
421
+ #: code/includes/settings.php:236
422
  msgid "How to open an item when click on Title, Thumbnail, Read more button"
423
  msgstr ""
424
 
425
+ #: code/includes/settings.php:275
426
+ msgid "Display Title above Thumbnail?"
427
  msgstr ""
428
 
429
+ #: code/includes/settings.php:281
430
  msgid "Thumbnail settings"
431
  msgstr ""
432
 
433
+ #: code/includes/settings.php:300
434
  msgid "Content settings"
435
  msgstr ""
436
 
437
+ #: code/includes/settings.php:312
438
  msgid "Show Full Content"
439
  msgstr ""
440
 
441
+ #: code/includes/settings.php:313
442
  msgid "Show Excerpt"
443
  msgstr ""
444
 
445
+ #: code/includes/settings.php:339
446
  msgid "Excerpt settings"
447
  msgstr ""
448
 
449
+ #: code/includes/settings.php:353
450
  msgid "Generating excerpt by selecting the first X words of the content"
451
  msgstr ""
452
 
453
+ #: code/includes/settings.php:358
454
+ msgid "Use manual excerpt?"
455
+ msgstr ""
456
+
457
+ #: code/includes/settings.php:374
458
  msgid "Allow HTML tags (a, br, strong, em, strike, i, ul, ol, li) in excerpt"
459
  msgstr ""
460
 
461
+ #: code/includes/settings.php:388
462
  msgid "Meta fields settings"
463
  msgstr ""
464
 
465
+ #: code/includes/settings.php:460
466
  msgid "Thumbnail position"
467
  msgstr ""
468
 
469
+ #: code/includes/settings.php:491
470
  msgid "Show Thumbnail"
471
  msgstr ""
472
 
473
+ #: code/includes/settings.php:511
474
  msgid "Show Title"
475
  msgstr ""
476
 
477
+ #: code/includes/settings.php:530
478
  msgid "Show Content"
479
  msgstr ""
480
 
481
+ #: code/includes/settings.php:549
482
  msgid "Show Meta Fields (Author, Date, Comment...)"
483
  msgstr ""
484
 
485
+ #: code/includes/settings.php:574
486
  msgid "Thumbnail size"
487
  msgstr ""
488
 
489
+ #: code/includes/settings.php:617
490
  msgid "Show Date"
491
  msgstr ""
492
 
493
+ #: code/includes/settings.php:636
494
  msgid "Show Author"
495
  msgstr ""
496
 
497
+ #: code/includes/settings.php:655
498
  msgid "Show Taxonomies (categories, tags...)"
499
  msgstr ""
500
 
501
+ #: code/includes/settings.php:675
502
  msgid "Show Comment Count"
503
  msgstr ""
504
 
505
+ #: code/includes/settings.php:709
506
+ msgid "The number of columns in layout"
507
  msgstr ""
508
 
509
+ #: code/includes/values.php:95 code/includes/values.php:108
510
  msgid "AND"
511
  msgstr ""
512
 
513
+ #: code/includes/values.php:96
514
  msgid "OR"
515
  msgstr ""
516
 
517
+ #: code/includes/values.php:106
518
  msgid "IN"
519
  msgstr ""
520
 
521
+ #: code/includes/values.php:106
522
  msgid ""
523
  "A post is displayed only if it associated with at least one value in terms "
524
  "list"
525
  msgstr ""
526
 
527
+ #: code/includes/values.php:107
528
  msgid "NOT IN"
529
  msgstr ""
530
 
531
+ #: code/includes/values.php:107
532
  msgid ""
533
  "A post is displayed only if it did NOT associated with any values in terms "
534
  "list"
535
  msgstr ""
536
 
537
+ #: code/includes/values.php:108
538
  msgid "A post is displayed only if it associated with all values in terms list"
539
  msgstr ""
540
 
541
+ #: code/includes/values.php:182
542
  msgid "Yes"
543
  msgstr ""
544
 
545
+ #: code/includes/values.php:183
546
  msgid "No"
547
  msgstr ""
548
 
549
+ #: code/includes/values.php:199
550
  msgid "Show"
551
  msgstr ""
552
 
553
+ #: code/includes/values.php:200
554
  msgid "Hide"
555
  msgstr ""
556
 
557
+ #: code/includes/values.php:211
558
  msgid "Ajax"
559
  msgstr ""
560
 
561
+ #: code/includes/values.php:212
562
  msgid "Normal"
563
  msgstr ""
564
 
565
+ #: code/includes/values.php:227
566
  msgid "Numbered pagination"
567
  msgstr ""
568
 
569
+ #: code/includes/values.php:242
570
  msgid "ASC"
571
  msgstr ""
572
 
573
+ #: code/includes/values.php:243
574
  msgid "DESC"
575
  msgstr ""
576
 
577
+ #: code/includes/values.php:252
578
  msgid "Publish"
579
  msgstr ""
580
 
581
+ #: code/includes/values.php:253
582
  msgid "Pending"
583
  msgstr ""
584
 
585
+ #: code/includes/values.php:254
586
  msgid "Draft"
587
  msgstr ""
588
 
589
+ #: code/includes/values.php:255
590
  msgid "Auto draft"
591
  msgstr ""
592
 
593
+ #: code/includes/values.php:256
594
  msgid "Future"
595
  msgstr ""
596
 
597
+ #: code/includes/values.php:257
598
  msgid "Private"
599
  msgstr ""
600
 
601
+ #: code/includes/values.php:258
602
  msgid "Inherit"
603
  msgstr ""
604
 
605
+ #: code/includes/values.php:259
606
  msgid "Trash"
607
  msgstr ""
608
 
609
+ #: code/includes/values.php:271
610
  msgid "Taxonomy (Categories, Tags...)"
611
  msgstr ""
612
 
613
+ #: code/includes/values.php:273
614
  msgid "Order & Orderby"
615
  msgstr ""
616
 
617
+ #: code/includes/values.php:274
618
  msgid "Search"
619
  msgstr ""
620
 
621
+ #: code/includes/values.php:289 code/includes/values.php:324
622
  msgid "&mdash; Select &mdash;"
623
  msgstr ""
624
 
625
+ #: code/includes/values.php:325
626
  msgid "ID"
627
  msgstr ""
628
 
629
+ #: code/includes/values.php:326
630
  msgid "Title"
631
  msgstr ""
632
 
633
+ #: code/includes/values.php:327
634
  msgid "Created date"
635
  msgstr ""
636
 
637
+ #: code/includes/values.php:328
638
  msgid "Modified date"
639
  msgstr ""
640
 
641
+ #: code/includes/values.php:344
642
  msgid "Grid"
643
  msgstr ""
644
 
645
+ #: code/includes/values.php:345
646
  msgid "Collapsible List"
647
  msgstr ""
648
 
649
+ #: code/includes/values.php:346
650
  msgid "Scrollable List"
651
  msgstr ""
652
 
653
+ #: code/includes/values.php:385
654
  msgid ""
655
  "1 column &#8212; All fields inside an output item are shown in one column"
656
  msgstr ""
657
 
658
+ #: code/includes/values.php:386
659
  msgid "2 columns &#8212; Show thumbnail on the left/right side of other fields"
660
  msgstr ""
661
 
662
+ #: code/includes/values.php:400
663
  msgid "Current tab"
664
  msgstr ""
665
 
666
+ #: code/includes/values.php:401
667
  msgid "New tab"
668
  msgstr ""
669
 
670
+ #: code/includes/values.php:449
671
  msgid "Full image"
672
  msgstr ""
673
 
674
+ #: code/includes/values.php:472
675
  msgid "Top"
676
  msgstr ""
677
 
678
+ #: code/includes/values.php:473 code/includes/values.php:491
679
  msgid "Left"
680
  msgstr ""
681
 
682
+ #: code/includes/values.php:474
683
  msgid "Bottom"
684
  msgstr ""
685
 
686
+ #: code/includes/values.php:475 code/includes/values.php:492
687
  msgid "Right"
688
  msgstr ""
689
 
690
+ #: code/public/content-views.php:290
691
  msgid "New View"
692
  msgstr ""
693
 
694
+ #: code/public/content-views.php:292
695
  msgid "View View"
696
  msgstr ""
697
 
698
+ #: code/public/content-views.php:294
699
  msgid "Search Views"
700
  msgstr ""
701
 
702
+ #: code/public/content-views.php:295
703
  msgid "Parent Views:"
704
  msgstr ""
705
 
706
+ #: code/public/content-views.php:296
707
  msgid "No views found."
708
  msgstr ""
709
 
710
+ #: code/public/content-views.php:297
711
  msgid "No views found in Trash."
712
  msgstr ""
public/assets/css/public.css CHANGED
@@ -182,6 +182,11 @@
182
 
183
  .pt-cv-pagination li {
184
  display: inline !important;
 
 
 
 
 
185
  }
186
 
187
  .pt-cv-pagination a {
182
 
183
  .pt-cv-pagination li {
184
  display: inline !important;
185
+ background-image: none !important;
186
+ }
187
+
188
+ .pt-cv-pagination li:before {
189
+ content: '' !important;
190
  }
191
 
192
  .pt-cv-pagination a {
public/templates/collapsible/html/main.php CHANGED
@@ -47,18 +47,18 @@ $random_id = PT_CV_Functions::string_random();
47
  <div class="panel panel-default pt-cv-content-item">
48
  <div class="panel-heading">
49
  <a class="panel-title" data-toggle="collapse" data-parent="#<?php echo esc_attr( PT_CV_PREFIX_UPPER . 'ID' ); ?>" href="#<?php echo esc_attr( $random_id ); ?>">
50
- <?php echo balanceTags( strip_tags( $heading ) ); ?>
51
  </a>
52
  <?php
53
  // Custom toggle icon
54
  $toggle_icon = apply_filters( PT_CV_PREFIX_ . 'scrollable_toggle_icon', '' );
55
- echo balanceTags( $toggle_icon );
56
  ?>
57
  </div>
58
  <div id="<?php echo esc_attr( $random_id ); ?>" class="panel-collapse collapse <?php echo esc_attr( PT_CV_PREFIX_UPPER . 'CLASS' ); ?>">
59
  <div class="panel-body">
60
  <?php
61
- echo balanceTags( implode( "\n", $html ) );
62
  ?>
63
  </div>
64
  </div>
47
  <div class="panel panel-default pt-cv-content-item">
48
  <div class="panel-heading">
49
  <a class="panel-title" data-toggle="collapse" data-parent="#<?php echo esc_attr( PT_CV_PREFIX_UPPER . 'ID' ); ?>" href="#<?php echo esc_attr( $random_id ); ?>">
50
+ <?php echo strip_tags( $heading ); ?>
51
  </a>
52
  <?php
53
  // Custom toggle icon
54
  $toggle_icon = apply_filters( PT_CV_PREFIX_ . 'scrollable_toggle_icon', '' );
55
+ echo $toggle_icon;
56
  ?>
57
  </div>
58
  <div id="<?php echo esc_attr( $random_id ); ?>" class="panel-collapse collapse <?php echo esc_attr( PT_CV_PREFIX_UPPER . 'CLASS' ); ?>">
59
  <div class="panel-body">
60
  <?php
61
+ echo implode( "\n", $html );
62
  ?>
63
  </div>
64
  </div>
public/templates/grid/html/main.php CHANGED
@@ -37,4 +37,4 @@ switch ( $layout ) {
37
  break;
38
  }
39
 
40
- echo balanceTags( implode( "\n", $html ) );
37
  break;
38
  }
39
 
40
+ echo implode( "\n", $html );
public/templates/scrollable/html/main.php CHANGED
@@ -27,6 +27,6 @@ $others_html = implode( "\n", $fields_html );
27
 
28
  // Get wrapper class of caption
29
  $caption_class = apply_filters( PT_CV_PREFIX_ . 'scrollable_caption_class', array( 'pt-cv-carousel-caption', $ex_cap_cls ) );
30
- $html[] = sprintf( '<div class="%s">%s</div>', esc_attr( implode( ' ', array_filter( $caption_class ) ) ), balanceTags( $others_html ) );
31
 
32
- echo balanceTags( implode( "\n", $html ) );
27
 
28
  // Get wrapper class of caption
29
  $caption_class = apply_filters( PT_CV_PREFIX_ . 'scrollable_caption_class', array( 'pt-cv-carousel-caption', $ex_cap_cls ) );
30
+ $html[] = sprintf( '<div class="%s">%s</div>', esc_attr( implode( ' ', array_filter( $caption_class ) ) ), $others_html );
31
 
32
+ echo implode( "\n", $html );