Version Description
= 2.1.0 = Only upgrade when using WordPress 3.7 or higher! Check your media settings after upgrading.
= 2.0.3 = Only upgrade when using WordPress 3.7 or higher!
Download this release
Release Info
Developer | a.hoereth |
Plugin | Featured Video Plus |
Version | 2.1.1 |
Comparing to | |
See all releases |
Code changes from version 2.1.0 to 2.1.1
- CHANGELOG.md +4 -0
- featured-video-plus.php +2 -2
- js/frontend.js +16 -16
- js/frontend.min.js +1 -1
- js/post.js +22 -3
- js/post.min.js +1 -1
- php/class-backend.php +17 -16
- readme.txt +5 -1
- styles/backend.css +2 -4
- styles/frontend.css +4 -3
CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
# Changelog #
|
2 |
|
|
|
|
|
|
|
|
|
3 |
## 2.1.0: 2015-06-11 ##
|
4 |
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
5 |
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
1 |
# Changelog #
|
2 |
|
3 |
+
## 2.1.1: 2015-06-xx ##
|
4 |
+
* Fix play and loading featured image overlay for some themes ([*](https://wordpress.org/support/topic/play-icon-missing)).
|
5 |
+
* Fix broken `remove featured image` link. ([*](https://wordpress.org/support/topic/cant-remove-featured-image-2), [*](https://wordpress.org/support/topic/version-210-conflict-with-wp-featured-image), [*](https://wordpress.org/support/topic/fvp-not-working-after-210-update))
|
6 |
+
|
7 |
## 2.1.0: 2015-06-11 ##
|
8 |
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
9 |
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
featured-video-plus.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Featured Video Plus
|
4 |
Plugin URI: http://yrnxt.com/wordpress/featured-video-plus/
|
5 |
Description: Add Featured Videos to your posts and pages.
|
6 |
-
Version: 2.1.
|
7 |
Author: Alexander Höreth
|
8 |
Author URI: http://yrnxt.com
|
9 |
Text Domain: featured-video-plus
|
@@ -32,7 +32,7 @@ License: GPL2
|
|
32 |
// ********************
|
33 |
// CONSTANTS
|
34 |
if ( ! defined( 'FVP_VERSION' ) ) {
|
35 |
-
define( 'FVP_VERSION', '2.1.
|
36 |
}
|
37 |
|
38 |
$pathinfo = pathinfo( dirname( plugin_basename( __FILE__ ) ) );
|
3 |
Plugin Name: Featured Video Plus
|
4 |
Plugin URI: http://yrnxt.com/wordpress/featured-video-plus/
|
5 |
Description: Add Featured Videos to your posts and pages.
|
6 |
+
Version: 2.1.1
|
7 |
Author: Alexander Höreth
|
8 |
Author URI: http://yrnxt.com
|
9 |
Text Domain: featured-video-plus
|
32 |
// ********************
|
33 |
// CONSTANTS
|
34 |
if ( ! defined( 'FVP_VERSION' ) ) {
|
35 |
+
define( 'FVP_VERSION', '2.1.1' );
|
36 |
}
|
37 |
|
38 |
$pathinfo = pathinfo( dirname( plugin_basename( __FILE__ ) ) );
|
js/frontend.js
CHANGED
@@ -25,6 +25,9 @@
|
|
25 |
// Remove wrapped .post-thumbnail-classes
|
26 |
$('.has-post-video .post-thumbnail>.post-thumbnail')
|
27 |
.removeClass('post-thumbnail');
|
|
|
|
|
|
|
28 |
}
|
29 |
|
30 |
|
@@ -77,22 +80,19 @@
|
|
77 |
* Handle mouseover and mouseout events.
|
78 |
*/
|
79 |
function hover(event) {
|
80 |
-
var $
|
81 |
-
|
82 |
-
|
83 |
-
if (0 === $
|
84 |
-
|
85 |
-
$
|
86 |
-
.
|
87 |
-
.
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
marginLeft: -$img.width()/2
|
94 |
-
})
|
95 |
-
);
|
96 |
} else if (bgState !== loadBg) {
|
97 |
$img.animate({ opacity: 1 });
|
98 |
$loader.remove();
|
25 |
// Remove wrapped .post-thumbnail-classes
|
26 |
$('.has-post-video .post-thumbnail>.post-thumbnail')
|
27 |
.removeClass('post-thumbnail');
|
28 |
+
|
29 |
+
// There might still be some empty .post-thumbnail links to be removed.
|
30 |
+
$('a.post-thumbnail').not('.fvp-dynamic, .fvp-overlay').remove();
|
31 |
}
|
32 |
|
33 |
|
80 |
* Handle mouseover and mouseout events.
|
81 |
*/
|
82 |
function hover(event) {
|
83 |
+
var $img = $(event.currentTarget).children('img');
|
84 |
+
|
85 |
+
// Is the overlay displayed currently?
|
86 |
+
if (0 === $img.siblings('.fvp-loader').length) {
|
87 |
+
// Copy classes and css styles onto the play icon overlay.
|
88 |
+
$loader.addClass($img.attr('class')).css({
|
89 |
+
height: $img.height(),
|
90 |
+
width: $img.width(),
|
91 |
+
margin: $img.css('margin')
|
92 |
+
});
|
93 |
+
|
94 |
+
// Fade out image and insert overlay.
|
95 |
+
$img.animate({ opacity: fvpdata.opacity }).before($loader);
|
|
|
|
|
|
|
96 |
} else if (bgState !== loadBg) {
|
97 |
$img.animate({ opacity: 1 });
|
98 |
$loader.remove();
|
js/frontend.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(a){"use strict";function t(){a(".has-post-video a>.featured-video-plus,.has-post-video a>.fvp-dynamic,.has-post-video a>.fvp-overlay,.has-post-video a>.wp-video,.has-post-video a>.wp-video-shortcode").unwrap(),a(".has-post-video .post-thumbnail>.post-thumbnail").removeClass("post-thumbnail"),a("a.post-thumbnail").not(".fvp-dynamic, .fvp-overlay").remove()}function e(){fvpdata.fitvids&&a(".featured-video-plus.fvp-responsive").fitVids({customSelector:["iframe","object","embed"]})}function i(){if(fvpdata.width&&!fvpdata.fitvids){a(".fvp-local .wp-video").css({width:fvpdata.width,height:"auto"});var t=a(".fvp-local .wp-video .wp-video-shortcode");t.attr({width:fvpdata.width,height:fvpdata.width/t.attr("width")*t.attr("heigth")})}}function o(){void 0===r&&[fvpdata.playicon,fvpdata.loadicon].forEach(function(t){a("body").append(a("<img/>",{src:t}).hide())}),r=r===c?s:c,v.css({backgroundImage:r})}function d(t){var e=a(t.currentTarget).children("img");0===e.siblings(".fvp-loader").length?(v.addClass(e.attr("class")).css({height:e.height(),width:e.width(),margin:e.css("margin")}),e.animate({opacity:fvpdata.opacity}).before(v)):r!==s&&(e.animate({opacity:1}),v.remove())}function n(i){i.preventDefault();var d=a(i.currentTarget),n=parseInt(d.attr("data-id"),10);o(),a.post(fvpdata.ajaxurl,{action:"fvp_get_embed",fvp_nonce:fvpdata.nonce,id:n},function(a){if(a.success){var i=d.parent();d.replaceWith(a.data),i.find(".wp-audio-shortcode, .wp-video-shortcode").mediaelementplayer(),e(),t()}o()})}function p(t){t.preventDefault();var e=a(t.currentTarget),o=parseInt(e.attr("data-id"),10);e.openDOMWindow({eventType:null,windowPadding:0,borderSize:0,windowBGColor:"transparent",overlayOpacity:100*fvpdata.opacity,width:"100%",height:"100%"}),a("#DOMWindow").css({backgroundImage:s});var d=a("#fvp-cache-"+o);0===d.html().length?a.post(fvpdata.ajaxurl,{action:"fvp_get_embed",fvp_nonce:fvpdata.nonce,id:o},function(t){t.success&&(d.html(t.data),a("#DOMWindow").html(t.data),i(),a(window).trigger("scroll"))}):(a("#DOMWindow").html(d.html()),a(window).trigger("scroll"))}var r,v=a("<div />").addClass("fvp-loader"),c="url('"+fvpdata.playicon+"')",s="url('"+fvpdata.loadicon+"')";a(document).ready(function(){t(),setTimeout(t,1e3),e(),i(),a(".fvp-overlay, .fvp-dynamic").hover(d,d),o(),a(".fvp-dynamic").click(n),a(".fvp-overlay").click(p)})}(jQuery);
|
js/post.js
CHANGED
@@ -10,6 +10,24 @@
|
|
10 |
var loadingicon = 'url(' + context.loading_gif + ')';
|
11 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Set the featured video with 'setfeatimg' parameter in order to force set
|
15 |
* the featured image to the video thumbnail if possible.
|
@@ -38,7 +56,7 @@
|
|
38 |
'fvp_nonce' : $('#fvp_nonce').val()
|
39 |
}, function(response) {
|
40 |
if (response.success) {
|
41 |
-
|
42 |
$media.css({ backgroundImage: mediaicon }); // Hide loading gif.
|
43 |
}
|
44 |
}, 'json' );
|
@@ -91,12 +109,12 @@
|
|
91 |
// new video data
|
92 |
} else {
|
93 |
$container
|
94 |
-
.css({height: '
|
95 |
.html(data.video);
|
96 |
}
|
97 |
|
98 |
// update featured image
|
99 |
-
|
100 |
}, 'json' );
|
101 |
}
|
102 |
|
@@ -133,6 +151,7 @@
|
|
133 |
$('#postimagediv')
|
134 |
.on('click', '.fvp-set-image', setFeatimg)
|
135 |
.on('click', '.fvp-remove-image', removeFeatimg);
|
|
|
136 |
|
137 |
// WordPress 3.5 Media Manager
|
138 |
// @see http://www.blazersix.com/blog/wordpress-image-widget/
|
10 |
var loadingicon = 'url(' + context.loading_gif + ')';
|
11 |
|
12 |
|
13 |
+
/**
|
14 |
+
* Update the featured image box content with fresh html and show/hide the
|
15 |
+
* required remove post thumbnail links accordingly.
|
16 |
+
*
|
17 |
+
* @param {string} html
|
18 |
+
*/
|
19 |
+
function updateImageDiv(html) {
|
20 |
+
var $container = $('#postimagediv .inside');
|
21 |
+
html = html || $container.html();
|
22 |
+
$container.html(html);
|
23 |
+
|
24 |
+
if (0 < $container.find('.fvp-remove-image').length) {
|
25 |
+
$container.find('#remove-post-thumbnail').parent('p').hide();
|
26 |
+
$container.find('.fvp-remove-image').parent('p').show();
|
27 |
+
}
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
/**
|
32 |
* Set the featured video with 'setfeatimg' parameter in order to force set
|
33 |
* the featured image to the video thumbnail if possible.
|
56 |
'fvp_nonce' : $('#fvp_nonce').val()
|
57 |
}, function(response) {
|
58 |
if (response.success) {
|
59 |
+
updateImageDiv(response.data);
|
60 |
$media.css({ backgroundImage: mediaicon }); // Hide loading gif.
|
61 |
}
|
62 |
}, 'json' );
|
109 |
// new video data
|
110 |
} else {
|
111 |
$container
|
112 |
+
.css({height: ''})
|
113 |
.html(data.video);
|
114 |
}
|
115 |
|
116 |
// update featured image
|
117 |
+
updateImageDiv(data.img);
|
118 |
}, 'json' );
|
119 |
}
|
120 |
|
151 |
$('#postimagediv')
|
152 |
.on('click', '.fvp-set-image', setFeatimg)
|
153 |
.on('click', '.fvp-remove-image', removeFeatimg);
|
154 |
+
updateImageDiv();
|
155 |
|
156 |
// WordPress 3.5 Media Manager
|
157 |
// @see http://www.blazersix.com/blog/wordpress-image-widget/
|
js/post.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){"use strict";function t(e){
|
1 |
+
!function(e){"use strict";function t(t){var i=e("#postimagediv .inside");t=t||i.html(),i.html(t),0<i.find(".fvp-remove-image").length&&(i.find("#remove-post-thumbnail").parent("p").hide(),i.find(".fvp-remove-image").parent("p").show())}function i(e){n(e,!0)}function a(i){i.preventDefault(),r.css({backgroundImage:f}),e.post(ajaxurl,{action:"fvp_remove_img",id:e("#post_ID").val(),fvp_nonce:e("#fvp_nonce").val()},function(e){e.success&&(t(e.data),r.css({backgroundImage:c}))},"json")}function n(i,a){if(i.preventDefault(),a=a||!1,o.val(e.trim(o.val())).trigger("autosize"),s!==o.val()||a){r.css({backgroundImage:f}),s=o.val();var n={action:"fvp_save",id:e("#post_ID").val(),fvp_nonce:e("#fvp_nonce").val(),fvp_video:o.val(),fvp_set_featimg:a};e.post(ajaxurl,n,function(i){if(!i.success)return!1;var a=i.data,n=e(".fvp-current-video");r.css({backgroundImage:c}),"remove"===a.task?n.css({height:n.height()}).html("").animate({height:0}):n.css({height:""}).html(a.video),t(a.img)},"json")}}var o,r,s,c,v=fvpPost,f="url("+v.loading_gif+")";e(document).ready(function(){o=e(".fvp-video"),r=o.siblings(".fvp-video-choose").children(".fvp-media-icon"),s=o.val(),c=r.css("backgroundImage"),o.blur(n),o.autosize().trigger("blur").keypress(function(t){13===t.keyCode&&(t.preventDefault(),e(this).trigger("blur"))}).click(function(){e(this).select()}),e("#postimagediv").on("click",".fvp-set-image",i).on("click",".fvp-remove-image",a),t();var v,f={frame:function(){return this._frame?this._frame:(this._frame=wp.media({title:v.data("title"),library:{type:"video"},button:{text:v.data("button")},multiple:!1}),this._frame.on("open",this.updateFrame).state("library").on("select",this.select),this._frame)},select:function(){var t=this.get("selection"),i="url",a=v.data("target");e(a).val(t.pluck(i)).change().trigger("blur")},updateFrame:function(){},init:function(){e("#wpbody").on("click",".fvp-video-choose",function(t){t.preventDefault(),v=e(this).closest(".fvp-input-wrapper"),f.frame().open()})}};f.init()})}(jQuery);
|
php/class-backend.php
CHANGED
@@ -656,27 +656,28 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
656 |
* @return {string}
|
657 |
*/
|
658 |
public function featured_image_box( $content, $post_id ) {
|
|
|
|
|
|
|
|
|
|
|
659 |
if ( has_post_thumbnail( $post_id ) ) {
|
660 |
-
|
661 |
-
|
|
|
662 |
esc_html__( 'Remove featured image' )
|
663 |
);
|
664 |
-
|
665 |
-
return $content . $link;
|
666 |
-
} elseif ( has_post_video( $post_id ) ) {
|
667 |
-
$notice = sprintf(
|
668 |
-
'<p class="fvp-notice">%s <a href="#" class="fvp-set-image hide-if-no-js">%s</a></p>',
|
669 |
-
esc_html__(
|
670 |
-
'Featured Videos require a Featured Image for automatic replacement.',
|
671 |
-
'featured-video-plus'
|
672 |
-
),
|
673 |
-
esc_html__( 'Auto set', 'featured-video-plus' )
|
674 |
-
);
|
675 |
-
|
676 |
-
return $notice . $content;
|
677 |
}
|
678 |
|
679 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
680 |
}
|
681 |
|
682 |
|
656 |
* @return {string}
|
657 |
*/
|
658 |
public function featured_image_box( $content, $post_id ) {
|
659 |
+
if ( ! has_post_video( $post_id ) ) {
|
660 |
+
// Has no featured video so the plugin does not interfere.
|
661 |
+
return $content;
|
662 |
+
}
|
663 |
+
|
664 |
if ( has_post_thumbnail( $post_id ) ) {
|
665 |
+
// Has featured video and featured image.
|
666 |
+
return $content . sprintf(
|
667 |
+
'<p class="hidden"><a href="#" class="fvp-remove-image">%s</a></p>',
|
668 |
esc_html__( 'Remove featured image' )
|
669 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
}
|
671 |
|
672 |
+
// Has featured video but not featured image.
|
673 |
+
return sprintf(
|
674 |
+
'<p class="fvp-notice">%s <a href="#" class="fvp-set-image hide-if-no-js">%s</a></p>',
|
675 |
+
esc_html__(
|
676 |
+
'Featured Videos require a Featured Image for automatic replacement.',
|
677 |
+
'featured-video-plus'
|
678 |
+
),
|
679 |
+
esc_html__( 'Auto set', 'featured-video-plus' )
|
680 |
+
) . $content;
|
681 |
}
|
682 |
|
683 |
|
readme.txt
CHANGED
@@ -10,7 +10,7 @@ License: GPLv2 or later
|
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Requires at least: 3.7
|
12 |
Tested up to: 4.2.2
|
13 |
-
Stable tag: 2.1.
|
14 |
|
15 |
Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo and many more.
|
16 |
|
@@ -115,6 +115,10 @@ Only upgrade when using WordPress 3.7 or higher!
|
|
115 |
|
116 |
== Changelog ==
|
117 |
|
|
|
|
|
|
|
|
|
118 |
= 2.1.0: 2015-06-11 =
|
119 |
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
120 |
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Requires at least: 3.7
|
12 |
Tested up to: 4.2.2
|
13 |
+
Stable tag: 2.1.1
|
14 |
|
15 |
Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo and many more.
|
16 |
|
115 |
|
116 |
== Changelog ==
|
117 |
|
118 |
+
= 2.1.1: 2015-06-xx =
|
119 |
+
* Fix play and loading featured image overlay for some themes ([*](https://wordpress.org/support/topic/play-icon-missing)).
|
120 |
+
* Fix broken `remove featured image` link. ([*](https://wordpress.org/support/topic/cant-remove-featured-image-2), [*](https://wordpress.org/support/topic/version-210-conflict-with-wp-featured-image), [*](https://wordpress.org/support/topic/fvp-not-working-after-210-update))
|
121 |
+
|
122 |
= 2.1.0: 2015-06-11 =
|
123 |
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
124 |
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
styles/backend.css
CHANGED
@@ -2,7 +2,8 @@
|
|
2 |
background: transparent fixed no-repeat center center;
|
3 |
}
|
4 |
#featured-video-plus-box .fvp-current-video,
|
5 |
-
#featured-video-plus-box iframe
|
|
|
6 |
width: 256px;
|
7 |
height: auto;
|
8 |
margin-bottom: 5px;
|
@@ -53,6 +54,3 @@
|
|
53 |
top: 4px;
|
54 |
right: 4px;
|
55 |
}
|
56 |
-
#postimagediv #remove-post-thumbnail {
|
57 |
-
display: none !important;
|
58 |
-
}
|
2 |
background: transparent fixed no-repeat center center;
|
3 |
}
|
4 |
#featured-video-plus-box .fvp-current-video,
|
5 |
+
#featured-video-plus-box .fvp-current-video iframe,
|
6 |
+
#featured-video-plus-box .fvp-current-video video {
|
7 |
width: 256px;
|
8 |
height: auto;
|
9 |
margin-bottom: 5px;
|
54 |
top: 4px;
|
55 |
right: 4px;
|
56 |
}
|
|
|
|
|
|
styles/frontend.css
CHANGED
@@ -45,6 +45,7 @@
|
|
45 |
.fvp-overlay,
|
46 |
.fvp-dynamic {
|
47 |
position: relative;
|
|
|
48 |
height: auto;
|
49 |
width: auto;
|
50 |
}
|
@@ -52,9 +53,9 @@
|
|
52 |
.fvp-dynamic .fvp-loader {
|
53 |
background: transparent no-repeat scroll center center;
|
54 |
position: absolute;
|
55 |
-
|
56 |
-
|
57 |
-
z-index:
|
58 |
pointer-events: none;
|
59 |
}
|
60 |
#DOMWindow {
|
45 |
.fvp-overlay,
|
46 |
.fvp-dynamic {
|
47 |
position: relative;
|
48 |
+
display: block;
|
49 |
height: auto;
|
50 |
width: auto;
|
51 |
}
|
53 |
.fvp-dynamic .fvp-loader {
|
54 |
background: transparent no-repeat scroll center center;
|
55 |
position: absolute;
|
56 |
+
top: 0;
|
57 |
+
left: 0;
|
58 |
+
z-index: 999;
|
59 |
pointer-events: none;
|
60 |
}
|
61 |
#DOMWindow {
|