Video Embed & Thumbnail Generator - Version 4.6.23

Version Description

  • March 26, 2019 =
  • Added option to override WordPress built-in [video] shortcodes.
  • Fixed bug that prevented generating in-browser thumbnails more than once without reloading the page.
  • Stopped deleting existing thumbnails that are selected from the library.
  • Changed filename of manually selected thumbnails to thumb1.jpg
Download this release

Release Info

Developer kylegilman
Plugin Icon 128x128 Video Embed & Thumbnail Generator
Version 4.6.23
Comparing to
See all releases

Code changes from version 4.6.22 to 4.6.23

css/kgvid_styles.css CHANGED
@@ -211,6 +211,7 @@ img.kgvid_ios_novideo {
211
  .kgvid_share_icons span {
212
  font-size: 13pt;
213
  line-height: 29pt;
 
214
  width: inherit;
215
  height: inherit;
216
  margin: 0;
211
  .kgvid_share_icons span {
212
  font-size: 13pt;
213
  line-height: 29pt;
214
+ text-decoration: none;
215
  width: inherit;
216
  height: inherit;
217
  margin: 0;
js/kgvid_video_plugin_admin.js CHANGED
@@ -535,6 +535,7 @@ function kgvid_generate_thumb(postID, buttonPushed) {
535
  jQuery(cancelthumbdivID).animate({opacity: 0, height: 'toggle'}, 500);
536
  jQuery(thumbnailboxID).prepend('<div id="saveallthumbs-'+postID+'-div"><input style="display:none;" type="button" id="attachments-'+postID+'-saveallthumbs" class="button-secondary kgvid-centered-block" value="'+kgvidL10n.saveallthumbnails+'" name="attachments-'+postID+'-saveallthumbs" onclick="kgvid_saveall_thumbs(\''+postID+'\');"></div>');
537
  jQuery('#attachments-'+postID+'-saveallthumbs').animate({opacity: 'toggle', height: 'toggle'}, 500);
 
538
  kgvid_break_video_on_close(postID);
539
  }
540
  }
@@ -565,9 +566,12 @@ function kgvid_generate_thumb(postID, buttonPushed) {
565
  video.play();
566
 
567
  jQuery(video).on('loadeddata', function(){
568
- video.currentTime = thumbnails[0];
 
 
 
569
  });
570
-
571
  jQuery(video).data('thumbnail_data', thumbnails);
572
 
573
  }
@@ -741,7 +745,7 @@ function kgvid_thumb_video_manual(postID) {
741
 
742
  setTimeout(function() { //redraw the canvas after a delay to avoid Safari bug
743
  canvas = kgvid_draw_thumb_canvas(canvas, video);
744
- kgvid_save_canvas_thumb(postID, time_id, 1, 1);
745
  }, 250);
746
 
747
 
535
  jQuery(cancelthumbdivID).animate({opacity: 0, height: 'toggle'}, 500);
536
  jQuery(thumbnailboxID).prepend('<div id="saveallthumbs-'+postID+'-div"><input style="display:none;" type="button" id="attachments-'+postID+'-saveallthumbs" class="button-secondary kgvid-centered-block" value="'+kgvidL10n.saveallthumbnails+'" name="attachments-'+postID+'-saveallthumbs" onclick="kgvid_saveall_thumbs(\''+postID+'\');"></div>');
537
  jQuery('#attachments-'+postID+'-saveallthumbs').animate({opacity: 'toggle', height: 'toggle'}, 500);
538
+ jQuery(video).removeData('thumbnail_data');
539
  kgvid_break_video_on_close(postID);
540
  }
541
  }
566
  video.play();
567
 
568
  jQuery(video).on('loadeddata', function(){
569
+ var thumbnail_saved = jQuery(video).data('thumbnail_data');
570
+ if ( thumbnail_saved.length > 0 ) {
571
+ video.currentTime = thumbnail_saved[0];
572
+ }
573
  });
574
+
575
  jQuery(video).data('thumbnail_data', thumbnails);
576
 
577
  }
745
 
746
  setTimeout(function() { //redraw the canvas after a delay to avoid Safari bug
747
  canvas = kgvid_draw_thumb_canvas(canvas, video);
748
+ kgvid_save_canvas_thumb(postID, time_id, 1, 0);
749
  }, 250);
750
 
751
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=kyleg
4
  Tags: video, video player, video gallery, video thumbnail, ffmpeg, resolution
5
  Requires at least: 4.4
6
  Tested up to: 5.0
7
- Stable tag: 4.6.22
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -248,6 +248,12 @@ Enter the username & password in the plugin settings "FFMPEG Settings" tab, or u
248
 
249
  == Changelog ==
250
 
 
 
 
 
 
 
251
  = 4.6.22 - January 30, 2019 =
252
  * Modularized video file formats that can be encoded by the plugin to allow other plugins to modify, delete, or create new formats.
253
  * Added Custom WEBM VP9 format option.
4
  Tags: video, video player, video gallery, video thumbnail, ffmpeg, resolution
5
  Requires at least: 4.4
6
  Tested up to: 5.0
7
+ Stable tag: 4.6.23
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
248
 
249
  == Changelog ==
250
 
251
+ = 4.6.23 - March 26, 2019 =
252
+ * Added option to override WordPress built-in [video] shortcodes.
253
+ * Fixed bug that prevented generating in-browser thumbnails more than once without reloading the page.
254
+ * Stopped deleting existing thumbnails that are selected from the library.
255
+ * Changed filename of manually selected thumbnails to thumb1.jpg
256
+
257
  = 4.6.22 - January 30, 2019 =
258
  * Modularized video file formats that can be encoded by the plugin to allow other plugins to modify, delete, or create new formats.
259
  * Added Custom WEBM VP9 format option.
video-embed-thumbnail-generator.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Video Embed & Thumbnail Generator
4
  Plugin URI: http://www.kylegilman.net/2011/01/18/video-embed-thumbnail-generator-wordpress-plugin/
5
  Description: Generates thumbnails, HTML5-compliant videos, and embed codes for locally hosted videos. Requires FFMPEG or LIBAV for encoding.
6
- Version: 4.6.22
7
  Author: Kyle Gilman
8
  Author URI: http://www.kylegilman.net/
9
  Text Domain: video-embed-thumbnail-generator
@@ -60,7 +60,7 @@ function kgvid_default_options_fn() {
60
  $edit_others_capable = kgvid_check_if_capable('edit_others_posts');
61
 
62
  $options = array(
63
- "version" => '4.6.22',
64
  "embed_method" => "Video.js",
65
  "jw_player_id" => "",
66
  "template" => false,
@@ -186,7 +186,8 @@ function kgvid_default_options_fn() {
186
  ),
187
  "simultaneous_encodes" => 1,
188
  "error_email" => "nobody",
189
- "alwaysloadscripts" => false
 
190
  );
191
 
192
  $video_formats = kgvid_video_formats();
@@ -2731,7 +2732,7 @@ function kgvid_single_video_code($query_atts, $atts, $content, $post_id) {
2731
  if ( $query_atts["schema"] == "true" ) {
2732
  $code .= 'itemprop="video" itemscope itemtype="https://schema.org/VideoObject">';
2733
  if ( $query_atts["poster"] != '' ) { $code .= '<meta itemprop="thumbnailUrl" content="'.esc_attr($query_atts["poster"]).'" />'; }
2734
- if ( !empty($id) && $options['embeddable'] == "on" ) { $schema_embedURL = site_url('/')."?attachment_id=".$id."&amp;kgvid_video_embed[enable]=true"; }
2735
  else { $schema_embedURL = $content; }
2736
  $code .= '<meta itemprop="embedUrl" content="'.esc_attr($schema_embedURL).'" />';
2737
  $code .= '<meta itemprop="contentUrl" content="'.$content.'" />';
@@ -3046,7 +3047,12 @@ function kgvid_single_video_code($query_atts, $atts, $content, $post_id) {
3046
  }
3047
  else { $download_code = ''; }
3048
 
3049
- if ( $query_atts['embedcode'] != "false" || $options['twitter_button'] == 'on' || $options['facebook_button'] == 'on' ) {
 
 
 
 
 
3050
 
3051
  $embed_code = "\t\t\t\t<span id='kgvid_".$div_suffix."_shareicon' class='dashicons dashicons-share' onclick='kgvid_share_icon_click(\"".$div_suffix."\");'></span>\n";
3052
  $embed_code .= "\t\t\t\t<div id='click_trap_".$div_suffix."' class='kgvid_click_trap'></div><div id='video_".$div_suffix."_embed' class='kgvid_share_container";
@@ -3157,6 +3163,31 @@ function kgvid_single_video_code($query_atts, $atts, $content, $post_id) {
3157
 
3158
  }
3159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3160
  function kgvid_shortcode_atts($atts) {
3161
 
3162
  $options = kgvid_get_options();
@@ -3210,6 +3241,7 @@ function kgvid_shortcode_atts($atts) {
3210
  'playback_rate' => $options['playback_rate'],
3211
  'title' => $options['overlay_title'],
3212
  'embedcode' => $options['overlay_embedcode'],
 
3213
  'view_count' => $options['view_count'],
3214
  'count_views' => $options['count_views'],
3215
  'caption' => '',
@@ -3283,6 +3315,7 @@ function kgvid_shortcode_atts($atts) {
3283
  "pauseothervideos",
3284
  "title",
3285
  "embedcode",
 
3286
  "view_count",
3287
  "inline",
3288
  "resize",
@@ -4408,6 +4441,7 @@ function kgvid_video_embed_options_init() {
4408
 
4409
  add_settings_field('security', __('Video sharing:', 'video-embed-thumbnail-generator'), 'kgvid_security_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'right_click' ) );
4410
  add_settings_field('count_views', __("View counting:", 'video-embed-thumbnail-generator'), 'kgvid_view_counting_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'count_views' ) );
 
4411
  add_settings_field('scriptloading', __("Script loading:", 'video-embed-thumbnail-generator'), 'kgvid_scriptloading_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'alwaysloadscripts' ) );
4412
  add_settings_field('generate_thumbs', __('Default number of thumbnails to generate:', 'video-embed-thumbnail-generator'), 'kgvid_generate_thumbs_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'generate_thumbs' ) );
4413
  add_settings_field('featured', __('Featured image:', 'video-embed-thumbnail-generator'), 'kgvid_featured_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'featured' ) );
@@ -4784,6 +4818,11 @@ add_action('admin_init', 'kgvid_video_embed_options_init' );
4784
  echo "<span class='kgvid_tooltip wp-ui-text-highlight'><span class='kgvid_tooltip_classic'>".__('Recording views in the database requires writing to the database, which can overload a server getting a lot of views. To speed up page loading, only enable the level of view counting you need. If Google Analytics is loaded, quarter event tracking is always recorded because Google servers can handle it.', 'video-embed-thumbnail-generator')."</span></span>\n\t";
4785
  }
4786
 
 
 
 
 
 
4787
  function kgvid_scriptloading_callback() {
4788
  $options = kgvid_get_options();
4789
  echo "<input ".checked( $options['alwaysloadscripts'], "on", false )." id='alwaysloadscripts' name='kgvid_video_embed_options[alwaysloadscripts]' type='checkbox' /> <label for='alwaysloadscripts'>".__('Always load plugin-related JavaScripts.', 'video-embed-thumbnail-generator')."</label> <span class='kgvid_tooltip wp-ui-text-highlight'><span class='kgvid_tooltip_classic'>".__("Usually the plugin's JavaScripts are only loaded if a video is present on the page. AJAX page loading can cause errors because the JavaScripts aren't loaded with the video content. Enabling this option will make sure the JavaScripts are always loaded.", 'video-embed-thumbnail-generator')."</span></span><br />";
@@ -5537,6 +5576,11 @@ function kgvid_update_settings() {
5537
  }
5538
  }
5539
 
 
 
 
 
 
5540
  if ( $options['version'] != $default_options['version'] ) { $options['version'] = $default_options['version']; }
5541
  if ( $options !== $options_old ) { update_option('kgvid_video_embed_options', $options); }
5542
  }
@@ -6501,12 +6545,15 @@ function kgvid_save_thumb($post_id, $post_name, $thumb_url, $index=false) {
6501
  $tmp_posterpath = $uploads['path'].'/thumb_tmp/'.$posterfile;
6502
  $final_posterpath = $uploads['path'].'/'.$posterfile;
6503
 
6504
- if ( file_exists($final_posterpath) ) {
6505
  $old_thumb_id = kgvid_url_to_id($final_posterpath);
6506
  if ( !empty($old_thumb_id) ) {
6507
  $existing_posterpath = get_attached_file($old_thumb_id);
6508
- if ( time() - filemtime($existing_posterpath) > 30 //file was created less than 30 seconds ago
6509
- || abs( filesize($tmp_posterpath) - filesize($existing_posterpath) ) > 100 //filesize is more than 100 bytes different means it's probably a different image
 
 
 
6510
  ) {
6511
  wp_delete_post($old_thumb_id);
6512
  }
@@ -8909,6 +8956,7 @@ function kgvid_add_contextual_help_tab() {
8909
  <li><code>watermark_link_to="home/parent/attachment/download/false"</code></li>
8910
  <li><code>watermark_url="http://www.example.com/"</code> '.sprintf( __('or %s to disable. If this is set, it will override the watermark_link_to setting.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
8911
  <li><code>title="Video Title"</code> '.sprintf( __('or %s to disable.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
 
8912
  <li><code>embedcode="html code"</code> '.sprintf( __('changes text displayed in the embed code overlay in order to provide a custom method for embedding a video or %s to disable.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
8913
  <li><code>view_count="true/false"</code> '.__('turns the view count on or off.', 'video-embed-thumbnail-generator').'</li>
8914
  <li><code>count_views="quarters/start_complete/start/false"</code> '.__('sets the level of video view counting.', 'video-embed-thumbnail-generator').'</li>
3
  Plugin Name: Video Embed & Thumbnail Generator
4
  Plugin URI: http://www.kylegilman.net/2011/01/18/video-embed-thumbnail-generator-wordpress-plugin/
5
  Description: Generates thumbnails, HTML5-compliant videos, and embed codes for locally hosted videos. Requires FFMPEG or LIBAV for encoding.
6
+ Version: 4.6.23
7
  Author: Kyle Gilman
8
  Author URI: http://www.kylegilman.net/
9
  Text Domain: video-embed-thumbnail-generator
60
  $edit_others_capable = kgvid_check_if_capable('edit_others_posts');
61
 
62
  $options = array(
63
+ "version" => '4.6.23',
64
  "embed_method" => "Video.js",
65
  "jw_player_id" => "",
66
  "template" => false,
186
  ),
187
  "simultaneous_encodes" => 1,
188
  "error_email" => "nobody",
189
+ "alwaysloadscripts" => false,
190
+ "replace_video_shortcode" => false
191
  );
192
 
193
  $video_formats = kgvid_video_formats();
2732
  if ( $query_atts["schema"] == "true" ) {
2733
  $code .= 'itemprop="video" itemscope itemtype="https://schema.org/VideoObject">';
2734
  if ( $query_atts["poster"] != '' ) { $code .= '<meta itemprop="thumbnailUrl" content="'.esc_attr($query_atts["poster"]).'" />'; }
2735
+ if ( !empty($id) && $query_atts['embeddable'] == "true" ) { $schema_embedURL = site_url('/')."?attachment_id=".$id."&amp;kgvid_video_embed[enable]=true"; }
2736
  else { $schema_embedURL = $content; }
2737
  $code .= '<meta itemprop="embedUrl" content="'.esc_attr($schema_embedURL).'" />';
2738
  $code .= '<meta itemprop="contentUrl" content="'.$content.'" />';
3047
  }
3048
  else { $download_code = ''; }
3049
 
3050
+ if ( $query_atts['embeddable'] == 'true'
3051
+ && ( $query_atts['embedcode'] != "false"
3052
+ || $options['twitter_button'] == 'on'
3053
+ || $options['facebook_button'] == 'on'
3054
+ )
3055
+ ) {
3056
 
3057
  $embed_code = "\t\t\t\t<span id='kgvid_".$div_suffix."_shareicon' class='dashicons dashicons-share' onclick='kgvid_share_icon_click(\"".$div_suffix."\");'></span>\n";
3058
  $embed_code .= "\t\t\t\t<div id='click_trap_".$div_suffix."' class='kgvid_click_trap'></div><div id='video_".$div_suffix."_embed' class='kgvid_share_container";
3163
 
3164
  }
3165
 
3166
+ function kgvid_overwrite_shortcode() {
3167
+
3168
+ $options = kgvid_get_options();
3169
+ if ($options['replace_video_shortcode'] == 'on') {
3170
+ remove_shortcode('video');
3171
+ add_shortcode('video', 'kgvid_replace_video_shortcode');
3172
+ }
3173
+
3174
+ }
3175
+ add_action('wp_loaded', 'kgvid_overwrite_shortcode');
3176
+
3177
+ function kgvid_replace_video_shortcode( $atts, $content = '' ) {
3178
+
3179
+ $src_atts = array('src', 'mp4', 'm4v', 'webm', 'ogv', 'wmv', 'flv');
3180
+ foreach ( $src_atts as $src_key ) {
3181
+ if ( array_key_exists($src_key, $atts) ) {
3182
+ $content = $atts[$src_key];
3183
+ break;
3184
+ }
3185
+ }
3186
+
3187
+ return KGVID_shortcode($atts, $content);
3188
+
3189
+ }
3190
+
3191
  function kgvid_shortcode_atts($atts) {
3192
 
3193
  $options = kgvid_get_options();
3241
  'playback_rate' => $options['playback_rate'],
3242
  'title' => $options['overlay_title'],
3243
  'embedcode' => $options['overlay_embedcode'],
3244
+ 'embeddable' => $options['embeddable'],
3245
  'view_count' => $options['view_count'],
3246
  'count_views' => $options['count_views'],
3247
  'caption' => '',
3315
  "pauseothervideos",
3316
  "title",
3317
  "embedcode",
3318
+ "embeddable",
3319
  "view_count",
3320
  "inline",
3321
  "resize",
4441
 
4442
  add_settings_field('security', __('Video sharing:', 'video-embed-thumbnail-generator'), 'kgvid_security_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'right_click' ) );
4443
  add_settings_field('count_views', __("View counting:", 'video-embed-thumbnail-generator'), 'kgvid_view_counting_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'count_views' ) );
4444
+ add_settings_field('replacevideoshortcode', __("Replace video shortcode:", 'video-embed-thumbnail-generator'), 'kgvid_replace_video_shortcode_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'replace_video_shortcode' ) );
4445
  add_settings_field('scriptloading', __("Script loading:", 'video-embed-thumbnail-generator'), 'kgvid_scriptloading_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'alwaysloadscripts' ) );
4446
  add_settings_field('generate_thumbs', __('Default number of thumbnails to generate:', 'video-embed-thumbnail-generator'), 'kgvid_generate_thumbs_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'generate_thumbs' ) );
4447
  add_settings_field('featured', __('Featured image:', 'video-embed-thumbnail-generator'), 'kgvid_featured_callback', __FILE__, 'kgvid_video_embed_plugin_settings', array( 'label_for' => 'featured' ) );
4818
  echo "<span class='kgvid_tooltip wp-ui-text-highlight'><span class='kgvid_tooltip_classic'>".__('Recording views in the database requires writing to the database, which can overload a server getting a lot of views. To speed up page loading, only enable the level of view counting you need. If Google Analytics is loaded, quarter event tracking is always recorded because Google servers can handle it.', 'video-embed-thumbnail-generator')."</span></span>\n\t";
4819
  }
4820
 
4821
+ function kgvid_replace_video_shortcode_callback() {
4822
+ $options = kgvid_get_options();
4823
+ echo "<input ".checked( $options['replace_video_shortcode'], "on", false )." id='replace_video_shortcode' name='kgvid_video_embed_options[replace_video_shortcode]' type='checkbox' /> <label for='replace_video_shortcode'>".__('Override any existing WordPress built-in "[video]" shortcodes.', 'video-embed-thumbnail-generator')."</label> <span class='kgvid_tooltip wp-ui-text-highlight'><span class='kgvid_tooltip_classic'>".__("If you have posts or theme files that make use of the built-in WordPress video shortcode, the plugin can override them with this plugin's embedded video player.", 'video-embed-thumbnail-generator')."</span></span><br />";
4824
+ }
4825
+
4826
  function kgvid_scriptloading_callback() {
4827
  $options = kgvid_get_options();
4828
  echo "<input ".checked( $options['alwaysloadscripts'], "on", false )." id='alwaysloadscripts' name='kgvid_video_embed_options[alwaysloadscripts]' type='checkbox' /> <label for='alwaysloadscripts'>".__('Always load plugin-related JavaScripts.', 'video-embed-thumbnail-generator')."</label> <span class='kgvid_tooltip wp-ui-text-highlight'><span class='kgvid_tooltip_classic'>".__("Usually the plugin's JavaScripts are only loaded if a video is present on the page. AJAX page loading can cause errors because the JavaScripts aren't loaded with the video content. Enabling this option will make sure the JavaScripts are always loaded.", 'video-embed-thumbnail-generator')."</span></span><br />";
5576
  }
5577
  }
5578
 
5579
+ if ( version_compare( $options['version'], '4.6.23', '<' ) ) {
5580
+ $options['version'] = '4.6.23';
5581
+ $options['replace_video_shortcode'] = false;
5582
+ }
5583
+
5584
  if ( $options['version'] != $default_options['version'] ) { $options['version'] = $default_options['version']; }
5585
  if ( $options !== $options_old ) { update_option('kgvid_video_embed_options', $options); }
5586
  }
6545
  $tmp_posterpath = $uploads['path'].'/thumb_tmp/'.$posterfile;
6546
  $final_posterpath = $uploads['path'].'/'.$posterfile;
6547
 
6548
+ if ( is_file($final_posterpath) ) {
6549
  $old_thumb_id = kgvid_url_to_id($final_posterpath);
6550
  if ( !empty($old_thumb_id) ) {
6551
  $existing_posterpath = get_attached_file($old_thumb_id);
6552
+ if ( is_file($tmp_posterpath)
6553
+ && (
6554
+ time() - filemtime($existing_posterpath) > 30 //file was created more than 30 seconds ago
6555
+ || abs( filesize($tmp_posterpath) - filesize($existing_posterpath) ) > 100 //filesize is more than 100 bytes different means it's probably a different image
6556
+ )
6557
  ) {
6558
  wp_delete_post($old_thumb_id);
6559
  }
8956
  <li><code>watermark_link_to="home/parent/attachment/download/false"</code></li>
8957
  <li><code>watermark_url="http://www.example.com/"</code> '.sprintf( __('or %s to disable. If this is set, it will override the watermark_link_to setting.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
8958
  <li><code>title="Video Title"</code> '.sprintf( __('or %s to disable.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
8959
+ <li><code>embeddable="true/false"</code> '.__('enable or disable video embedding and sharing icons.', 'video-embed-thumbnail-generator').'</li>
8960
  <li><code>embedcode="html code"</code> '.sprintf( __('changes text displayed in the embed code overlay in order to provide a custom method for embedding a video or %s to disable.', 'video-embed-thumbnail-generator'), $false_code ).'</li>
8961
  <li><code>view_count="true/false"</code> '.__('turns the view count on or off.', 'video-embed-thumbnail-generator').'</li>
8962
  <li><code>count_views="quarters/start_complete/start/false"</code> '.__('sets the level of video view counting.', 'video-embed-thumbnail-generator').'</li>