Testimonials Widget - Version 2.16.1

Version Description

= 2.15.0 =

  • If upgrading, bxSlider will not be enabled by default. You must enable it in your widget and global settings. CSS customizations must be reviewed to have the .active and .display-none classes removed. The main .testimonials-widget-testimonial class also need the display: none; and clear: left; removed.

= 2.14.0 =

  • 60 modifications See Changelog
  • CSS wp_register_style and wp_enqueue_style slug changed from 'testimonials-widget' to 'Testimonials_Widget'
  • Gravatar image size now based upon Thumbnail size in Media Settings
  • Scripts ksort removed. Use array_unshift in your testimonials_widget_testimonials_js filters instead.
  • Testimonials > Settings, General tab, option Enable Review Schema? is enabled by default.

= 2.13.6 =

  • IE 7 CSS moved to separate file. Include via Testimonials > Settings if needed

= 2.12.0 =

  • CSS and JavaScript renaming
    • bottom_text renamed to bottom-text
    • close_quote renamed to close-quote
    • display_none renamed to display-none
    • join_location renamed to join-location
    • join_title renamed to join-title
    • open_quote renamed to open-quote
    • testimonialswidget_testimonial renamed to testimonials-widget-testimonial
    • testimonialswidget_testimonials renamed to testimonials-widget-testimonials

= 2.11.3 =

  • Correct filter name testimonials_widget_next_posts_link to testimonials_widget_next_posts_link_text

= 2.11.0 =

  • CSS class names are simplified. For the most part, other than testimonialswidget_testimonial remove testimonialswidget_ from the CSS class name in your CSS customizations.
    • Ex: .testimonialswidget_join becomes .join
    • Ex: .testimonialswidget_author becomes .author
  • Testimonials are now formatted using blockquote than q for HTML5 compliance. If you need q tag formatting, enable it at WP Admin > Testimonials > Settings, Compatibility & Reset tab
    • cite is now div.credit

= 2.8.0 =

  • Deprecated
    • hide_author now hide_source
  • Removed filters testimonials_widget_options_update, testimonials_widget_options_form
    • Use testimonials_widget_validate_settings and testimonials_widget_settings instead
  • Renamed variable and related class widget_text to bottom_text

= 2.7.3 =

  • Quotes are no longer handled via q, p:before, or p:after CSS. It's handled via .testimonialswidget_testimonial .testimonialswidget_open_quote:before and .testimonialswidget_testimonial .testimonialswidget_close_quote:after
  • This change was made to keep consistency in how quotes were managed and to reduce the number of exception cases. In the end, this is simpler.

= 2.7.0 =

  • Quotes with keep_whitespace=true aren't applied via CSS .testimonialswidget_testimonial q tag anymore, but .testimonialswidget_testimonial q p:first-child:before and .testimonialswidget_testimonial q p:last-child:after
  • Widget testimonial p tags are no longer CSS display: inline, display: block as expected

= 2.4.1 =

  • Paging is on by default, except for widgets

= 2.0.0 =

  • CSS
    • Class testimonialswidget_company replaces testimonialswidget_source
    • Class testimonialswidget_source replaces testimonialswidget_author
    • The tighten widget display up, p tags within q are displayed inline.
  • JavaScript
    • The JavaScript for rotating testimonials is moved to the footer. As such, your theme requires wp_footer() in the footer.
  • Shortcode options
    • hide_source replaced by hide_url
    • hide_author replaced by hide_source
  • Testimonials
    • Migration from the old custom table to new custom post type is automatically done. Import might take a few moments to complete.
    • Company, URL and email details are attempted to be identified and placed properly based upon the original author and source fields. The company is "guessed" from the author field when there's a ", " or " of " context. If the source is an email, it's saved as such. Otherwise, it's assumed to be a URL.
    • Public testimonials are saved as Published. Non-public testimonials are marked as Private.
  • Widget options
    • "Show author" and "Show source" options are replaced by "Hide source" and "Hide URL" respectively. There's no backwards compatibility for these changes.
    • Default min-height is now 250px than 150px.
Download this release

Release Info

Developer comprock
Plugin Icon wp plugin Testimonials Widget
Version 2.16.1
Comparing to
See all releases

Code changes from version 2.16.0 to 2.16.1

CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
 
3
  ## master
4
 
 
 
 
5
  ## 2.16.0
6
  * Add Expand/Collapse All Options helper for widget options - Thank you Scott Hendison
7
  * Add Shortcodes helper page - Thank you Scott Hendison
2
 
3
  ## master
4
 
5
+ ## 2.16.1
6
+ * $this to __CLASS__
7
+
8
  ## 2.16.0
9
  * Add Expand/Collapse All Options helper for widget options - Thank you Scott Hendison
10
  * Add Shortcodes helper page - Thank you Scott Hendison
languages/testimonials-widget.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Testimonials package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Testimonials 2.16.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/testimonials-widget\n"
7
- "POT-Creation-Date: 2013-11-28 00:45:54+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -179,7 +179,7 @@ msgstr ""
179
  msgid "Widget Title"
180
  msgstr ""
181
 
182
- #. #-#-#-#-# testimonials-widget.pot (Testimonials 2.16.0) #-#-#-#-#
183
  #. Plugin Name of the plugin/theme
184
  #: lib/class-testimonials-widget-settings.php:127
185
  #: lib/class-testimonials-widget-widget.php:29 testimonials-widget.php:484
2
  # This file is distributed under the same license as the Testimonials package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Testimonials 2.16.1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/testimonials-widget\n"
7
+ "POT-Creation-Date: 2013-11-28 06:02:59+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
179
  msgid "Widget Title"
180
  msgstr ""
181
 
182
+ #. #-#-#-#-# testimonials-widget.pot (Testimonials 2.16.1) #-#-#-#-#
183
  #. Plugin Name of the plugin/theme
184
  #: lib/class-testimonials-widget-settings.php:127
185
  #: lib/class-testimonials-widget-widget.php:29 testimonials-widget.php:484
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://aihr.us/about-aihrus/donate/
5
  Tags: client, customer, portfolio, quotations, quote, quotes, random, recommendation, reference, review, reviews, testimonial, testimonials, testimony, wpml
6
  Requires at least: 3.6
7
  Tested up to: 3.8.0
8
- Stable tag: 2.16.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -57,7 +57,7 @@ The single testimonial view supports image, source, title, location, email, comp
57
  * Single testimonial view includes image, source, title, location, email, company and URL details
58
  * Testimonials archive view
59
  * Use custom taxonomy or WordPress's own for categories and tags
60
- * Use's [bxSlider](http://bxslider.com) for transitions
61
 
62
  = Testimonials Premium =
63
 
@@ -492,7 +492,7 @@ I need beta testers to help with ensuring pending releases of Testimonials and T
492
 
493
  [Please contact me directly](http://aihr.us/contact-aihrus/).
494
 
495
- Beta testers benefit directly with latest versions, a free 1-site license for Testimonials Premium, and personalized support assistance.
496
 
497
  == TODO ==
498
 
5
  Tags: client, customer, portfolio, quotations, quote, quotes, random, recommendation, reference, review, reviews, testimonial, testimonials, testimony, wpml
6
  Requires at least: 3.6
7
  Tested up to: 3.8.0
8
+ Stable tag: 2.16.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
57
  * Single testimonial view includes image, source, title, location, email, company and URL details
58
  * Testimonials archive view
59
  * Use custom taxonomy or WordPress's own for categories and tags
60
+ * Uses [bxSlider](http://bxslider.com) for transitions
61
 
62
  = Testimonials Premium =
63
 
492
 
493
  [Please contact me directly](http://aihr.us/contact-aihrus/).
494
 
495
+ Beta testers benefit directly with latest versions, a free unlimited sites license for Testimonials Premium, and personalized support assistance.
496
 
497
  == TODO ==
498
 
testimonials-widget.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Testimonials
4
  * Plugin URI: http://wordpress.org/plugins/testimonials-widget/
5
  * Description: Testimonials lets you randomly slide or list selected portfolios, quotes, reviews, or text with images or videos on your WordPress site.
6
- * Version: 2.16.0
7
  * Author: Michael Cannon
8
  * Author URI: http://aihr.us/resume/
9
  * License: GPLv2 or later
@@ -38,7 +38,7 @@ class Testimonials_Widget extends Aihrus_Common {
38
  const PLUGIN_BASE = 'testimonials-widget/testimonials-widget.php';
39
  const PT = 'testimonials-widget';
40
  const SLUG = 'tw_';
41
- const VERSION = '2.16.0';
42
 
43
  private static $found_posts = 0;
44
  private static $max_num_pages = 0;
@@ -103,41 +103,41 @@ class Testimonials_Widget extends Aihrus_Common {
103
  public function __construct() {
104
  parent::__construct();
105
 
106
- add_action( 'admin_init', array( $this, 'admin_init' ) );
107
- add_action( 'admin_menu', array( $this, 'admin_menu' ) );
108
- add_action( 'init', array( $this, 'init' ) );
109
- add_action( 'widgets_init', array( $this, 'widgets_init' ) );
110
- add_shortcode( 'testimonialswidget_list', array( $this, 'testimonialswidget_list' ) );
111
- add_shortcode( 'testimonialswidget_widget', array( $this, 'testimonialswidget_widget' ) );
112
  }
113
 
114
 
115
- public function admin_init() {
116
  self::support_thumbnails();
117
 
118
  self::$settings_link = '<a href="' . get_admin_url() . 'edit.php?post_type=' . Testimonials_Widget::PT . '&page=' . Testimonials_Widget_Settings::ID . '">' . esc_html__( 'Settings', 'testimonials-widget' ) . '</a>';
119
 
120
- $this->add_meta_box_testimonials_widget();
121
- $this->update();
122
 
123
- add_action( 'gettext', array( $this, 'gettext_testimonials' ) );
124
- add_action( 'manage_' . self::PT . '_posts_custom_column', array( $this, 'manage_posts_custom_column' ), 10, 2 );
125
- add_action( 'right_now_content_table_end', array( $this, 'right_now_content_table_end' ) );
126
- add_filter( 'manage_' . self::PT . '_posts_columns', array( $this, 'manage_posts_columns' ) );
127
- add_filter( 'plugin_action_links', array( $this, 'plugin_action_links' ), 10, 2 );
128
- add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
129
- add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
130
- add_filter( 'pre_get_posts', array( $this, 'pre_get_posts_author' ) );
131
  }
132
 
133
 
134
- public function admin_menu() {
135
- self::$menu_shortcodes = add_submenu_page( 'edit.php?post_type=' . self::PT, esc_html__( 'Testimonials Shortcode Examples', 'testimonials-widget' ), esc_html__( 'E.g. Shortcodes', 'testimonials-widget' ), 'manage_options', 'shortcodes', array( $this, 'show_shortcodes' ) );
136
  }
137
 
138
 
139
- public function init() {
140
- add_filter( 'the_content', array( $this, 'get_single' ) );
141
 
142
  load_plugin_textdomain( self::PT, false, 'testimonials-widget/languages' );
143
 
@@ -197,7 +197,7 @@ class Testimonials_Widget extends Aihrus_Common {
197
  }
198
 
199
 
200
- public function get_single( $content ) {
201
  global $post;
202
 
203
  if ( ! is_single() || self::PT != $post->post_type )
@@ -240,7 +240,7 @@ class Testimonials_Widget extends Aihrus_Common {
240
  }
241
 
242
 
243
- public function activation() {
244
  if ( ! current_user_can( 'activate_plugins' ) )
245
  return;
246
 
@@ -250,7 +250,7 @@ class Testimonials_Widget extends Aihrus_Common {
250
  }
251
 
252
 
253
- public function deactivation() {
254
  if ( ! current_user_can( 'activate_plugins' ) )
255
  return;
256
 
@@ -259,7 +259,7 @@ class Testimonials_Widget extends Aihrus_Common {
259
  }
260
 
261
 
262
- public function uninstall() {
263
  if ( ! current_user_can( 'activate_plugins' ) )
264
  return;
265
 
@@ -343,7 +343,7 @@ class Testimonials_Widget extends Aihrus_Common {
343
  }
344
 
345
 
346
- public function update() {
347
  $prior_version = tw_get_option( 'admin_notices' );
348
  if ( $prior_version ) {
349
  if ( $prior_version < '2.12.0' )
@@ -367,7 +367,7 @@ class Testimonials_Widget extends Aihrus_Common {
367
  }
368
 
369
 
370
- public function pre_get_posts_author( $query ) {
371
  global $user_ID;
372
 
373
  // author's and below
@@ -378,7 +378,7 @@ class Testimonials_Widget extends Aihrus_Common {
378
  }
379
 
380
 
381
- public function manage_posts_custom_column( $column, $post_id ) {
382
  $result = false;
383
 
384
  switch ( $column ) {
@@ -444,7 +444,7 @@ class Testimonials_Widget extends Aihrus_Common {
444
  }
445
 
446
 
447
- public function manage_posts_columns( $columns ) {
448
  // order of keys matches column ordering
449
  $columns = array(
450
  'cb' => '<input type="checkbox" />',
@@ -476,7 +476,7 @@ class Testimonials_Widget extends Aihrus_Common {
476
  }
477
 
478
 
479
- public function init_post_type() {
480
  $labels = array(
481
  'add_new' => esc_html__( 'Add New', 'testimonials-widget' ),
482
  'add_new_item' => esc_html__( 'Add New Testimonial', 'testimonials-widget' ),
@@ -574,7 +574,7 @@ class Testimonials_Widget extends Aihrus_Common {
574
  }
575
 
576
 
577
- public function testimonialswidget_list( $atts ) {
578
  $atts = wp_parse_args( $atts, self::get_defaults() );
579
  $atts = Testimonials_Widget_Settings::validate_settings( $atts );
580
 
@@ -1598,7 +1598,7 @@ EOF;
1598
  }
1599
 
1600
 
1601
- public function posts_results_sort_none( $posts, $query ) {
1602
  $order = $query->query_vars['post__in'];
1603
  if ( empty( $order ) )
1604
  return $posts;
@@ -1618,7 +1618,7 @@ EOF;
1618
  }
1619
 
1620
 
1621
- public function widgets_init() {
1622
  require_once TW_PLUGIN_DIR_LIB . '/class-testimonials-widget-widget.php';
1623
 
1624
  register_widget( 'Testimonials_Widget_Widget' );
@@ -1630,7 +1630,7 @@ EOF;
1630
  *
1631
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
1632
  */
1633
- public function add_meta_box_testimonials_widget() {
1634
  require_once TW_PLUGIN_DIR_LIB . '/class-redrokk-metabox-class.php';
1635
 
1636
  $fields = array(
@@ -1689,8 +1689,8 @@ EOF;
1689
  * @param string $translation
1690
  * @return string $translation
1691
  */
1692
- public function gettext_testimonials( $translation ) {
1693
- remove_action( 'gettext', array( $this, 'gettext_testimonials' ) );
1694
 
1695
  global $post;
1696
 
@@ -1702,7 +1702,7 @@ EOF;
1702
  }
1703
  }
1704
 
1705
- add_action( 'gettext', array( $this, 'gettext_testimonials' ) );
1706
 
1707
  return $translation;
1708
  }
@@ -1717,7 +1717,7 @@ EOF;
1717
  * @param mixed $m
1718
  * @return mixed $m
1719
  */
1720
- public function post_updated_messages( $m ) {
1721
  global $post;
1722
 
1723
  $m[ self::PT ] = array(
@@ -1739,7 +1739,7 @@ EOF;
1739
  }
1740
 
1741
 
1742
- public function right_now_content_table_end() {
1743
  $content = '
1744
  <tr>
1745
  <td class="first b b-%1$s">%4$s%2$s%5$s</td>
3
  * Plugin Name: Testimonials
4
  * Plugin URI: http://wordpress.org/plugins/testimonials-widget/
5
  * Description: Testimonials lets you randomly slide or list selected portfolios, quotes, reviews, or text with images or videos on your WordPress site.
6
+ * Version: 2.16.1
7
  * Author: Michael Cannon
8
  * Author URI: http://aihr.us/resume/
9
  * License: GPLv2 or later
38
  const PLUGIN_BASE = 'testimonials-widget/testimonials-widget.php';
39
  const PT = 'testimonials-widget';
40
  const SLUG = 'tw_';
41
+ const VERSION = '2.16.1';
42
 
43
  private static $found_posts = 0;
44
  private static $max_num_pages = 0;
103
  public function __construct() {
104
  parent::__construct();
105
 
106
+ add_action( 'admin_init', array( __CLASS__, 'admin_init' ) );
107
+ add_action( 'admin_menu', array( __CLASS__, 'admin_menu' ) );
108
+ add_action( 'init', array( __CLASS__, 'init' ) );
109
+ add_action( 'widgets_init', array( __CLASS__, 'widgets_init' ) );
110
+ add_shortcode( 'testimonialswidget_list', array( __CLASS__, 'testimonialswidget_list' ) );
111
+ add_shortcode( 'testimonialswidget_widget', array( __CLASS__, 'testimonialswidget_widget' ) );
112
  }
113
 
114
 
115
+ public static function admin_init() {
116
  self::support_thumbnails();
117
 
118
  self::$settings_link = '<a href="' . get_admin_url() . 'edit.php?post_type=' . Testimonials_Widget::PT . '&page=' . Testimonials_Widget_Settings::ID . '">' . esc_html__( 'Settings', 'testimonials-widget' ) . '</a>';
119
 
120
+ self::add_meta_box_testimonials_widget();
121
+ self::update();
122
 
123
+ add_action( 'gettext', array( __CLASS__, 'gettext_testimonials' ) );
124
+ add_action( 'manage_' . self::PT . '_posts_custom_column', array( __CLASS__, 'manage_posts_custom_column' ), 10, 2 );
125
+ add_action( 'right_now_content_table_end', array( __CLASS__, 'right_now_content_table_end' ) );
126
+ add_filter( 'manage_' . self::PT . '_posts_columns', array( __CLASS__, 'manage_posts_columns' ) );
127
+ add_filter( 'plugin_action_links', array( __CLASS__, 'plugin_action_links' ), 10, 2 );
128
+ add_filter( 'plugin_row_meta', array( __CLASS__, 'plugin_row_meta' ), 10, 2 );
129
+ add_filter( 'post_updated_messages', array( __CLASS__, 'post_updated_messages' ) );
130
+ add_filter( 'pre_get_posts', array( __CLASS__, 'pre_get_posts_author' ) );
131
  }
132
 
133
 
134
+ public static function admin_menu() {
135
+ self::$menu_shortcodes = add_submenu_page( 'edit.php?post_type=' . self::PT, esc_html__( 'Testimonials Shortcode Examples', 'testimonials-widget' ), esc_html__( 'E.g. Shortcodes', 'testimonials-widget' ), 'manage_options', 'shortcodes', array( __CLASS__, 'show_shortcodes' ) );
136
  }
137
 
138
 
139
+ public static function init() {
140
+ add_filter( 'the_content', array( __CLASS__, 'get_single' ) );
141
 
142
  load_plugin_textdomain( self::PT, false, 'testimonials-widget/languages' );
143
 
197
  }
198
 
199
 
200
+ public static function get_single( $content ) {
201
  global $post;
202
 
203
  if ( ! is_single() || self::PT != $post->post_type )
240
  }
241
 
242
 
243
+ public static function activation() {
244
  if ( ! current_user_can( 'activate_plugins' ) )
245
  return;
246
 
250
  }
251
 
252
 
253
+ public static function deactivation() {
254
  if ( ! current_user_can( 'activate_plugins' ) )
255
  return;
256
 
259
  }
260
 
261
 
262
+ public static function uninstall() {
263
  if ( ! current_user_can( 'activate_plugins' ) )
264
  return;
265
 
343
  }
344
 
345
 
346
+ public static function update() {
347
  $prior_version = tw_get_option( 'admin_notices' );
348
  if ( $prior_version ) {
349
  if ( $prior_version < '2.12.0' )
367
  }
368
 
369
 
370
+ public static function pre_get_posts_author( $query ) {
371
  global $user_ID;
372
 
373
  // author's and below
378
  }
379
 
380
 
381
+ public static function manage_posts_custom_column( $column, $post_id ) {
382
  $result = false;
383
 
384
  switch ( $column ) {
444
  }
445
 
446
 
447
+ public static function manage_posts_columns( $columns ) {
448
  // order of keys matches column ordering
449
  $columns = array(
450
  'cb' => '<input type="checkbox" />',
476
  }
477
 
478
 
479
+ public static function init_post_type() {
480
  $labels = array(
481
  'add_new' => esc_html__( 'Add New', 'testimonials-widget' ),
482
  'add_new_item' => esc_html__( 'Add New Testimonial', 'testimonials-widget' ),
574
  }
575
 
576
 
577
+ public static function testimonialswidget_list( $atts ) {
578
  $atts = wp_parse_args( $atts, self::get_defaults() );
579
  $atts = Testimonials_Widget_Settings::validate_settings( $atts );
580
 
1598
  }
1599
 
1600
 
1601
+ public static function posts_results_sort_none( $posts, $query ) {
1602
  $order = $query->query_vars['post__in'];
1603
  if ( empty( $order ) )
1604
  return $posts;
1618
  }
1619
 
1620
 
1621
+ public static function widgets_init() {
1622
  require_once TW_PLUGIN_DIR_LIB . '/class-testimonials-widget-widget.php';
1623
 
1624
  register_widget( 'Testimonials_Widget_Widget' );
1630
  *
1631
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
1632
  */
1633
+ public static function add_meta_box_testimonials_widget() {
1634
  require_once TW_PLUGIN_DIR_LIB . '/class-redrokk-metabox-class.php';
1635
 
1636
  $fields = array(
1689
  * @param string $translation
1690
  * @return string $translation
1691
  */
1692
+ public static function gettext_testimonials( $translation ) {
1693
+ remove_action( 'gettext', array( __CLASS__, 'gettext_testimonials' ) );
1694
 
1695
  global $post;
1696
 
1702
  }
1703
  }
1704
 
1705
+ add_action( 'gettext', array( __CLASS__, 'gettext_testimonials' ) );
1706
 
1707
  return $translation;
1708
  }
1717
  * @param mixed $m
1718
  * @return mixed $m
1719
  */
1720
+ public static function post_updated_messages( $m ) {
1721
  global $post;
1722
 
1723
  $m[ self::PT ] = array(
1739
  }
1740
 
1741
 
1742
+ public static function right_now_content_table_end() {
1743
  $content = '
1744
  <tr>
1745
  <td class="first b b-%1$s">%4$s%2$s%5$s</td>