Version Description
[04/01/17] =
This is the first in a series of small updates which will eventually allow us to remove restrictions in the plugin which prevent us from implementing certain functionality, including:
- Changing a slide image
- Using unique captions when the same slide has been added to more than one slideshow
- Adding the same slide to a slideshow multiple times
- Duplicating slides and sliders
- Drafting slides
- Scheduling slides
We are releasing this update in a number of small stages due to the number of users Meta Slider has. We are being overly cautious to ensure it's a smooth transition. This update does not make any major changes to the current plugin functionality, but it does put in place the "scaffolding" code which we will rely on to implement further updates.
Download this release
Release Info
Developer | matchalabs |
Plugin | MetaSlider |
Version | 3.4 |
Comparing to | |
See all releases |
Code changes from version 3.3.7 to 3.4
- assets/fonts/metaslider.eot +0 -0
- assets/fonts/metaslider.svg +12 -0
- assets/fonts/metaslider.ttf +0 -0
- assets/fonts/metaslider.woff +0 -0
- assets/metaslider/admin.css +58 -1
- assets/metaslider/global.css +17 -0
- inc/metaslider.imagehelper.class.php +8 -12
- inc/slide/metaslide.class.php +30 -2
- inc/slide/metaslide.image.class.php +16 -8
- inc/slider/metaslider.class.php +20 -8
- ml-slider.php +182 -20
- readme.txt +384 -19
assets/fonts/metaslider.eot
ADDED
Binary file
|
assets/fonts/metaslider.svg
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by IcoMoon</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="metaslider" horiz-adv-x="1024">
|
7 |
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
+
<missing-glyph horiz-adv-x="1024" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" d="M330.957 749.355c-9.462-12.198-18.678-23.927-20.48-26.063-1.802-2.138-4.751-5.898-6.554-8.36-3.811-5.204-21.987-28.43-24.969-31.91-1.118-1.303-8.362-10.48-16.095-20.392-7.735-9.912-16.404-20.906-19.268-24.433-2.863-3.525-9.998-12.741-15.858-20.48-5.859-7.737-11.885-15.544-13.39-17.347-7.361-8.819-54.843-69.474-57.975-74.060-1.97-2.888-6.21-8.417-9.421-12.288-10.041-12.114-55.867-70.654-60.017-76.673-2.175-3.154-5.114-6.9-6.531-8.325s-4.42-5.063-6.672-8.079c-2.253-3.019-9.062-11.807-15.131-19.528-12.804-16.29-12.72-16.042-5.759-17.342 10.484-1.96 98.388-0.139 99.117 2.052 0.371 1.116 12.229 16.599 26.352 34.406 14.123 17.809 27.017 34.458 28.654 36.995 1.634 2.54 4.241 5.884 5.79 7.432s5.001 5.728 7.672 9.29c4.088 5.446 38.154 49.048 61.417 78.606 14.674 18.645 56.775 72.399 59.791 76.341 5.868 7.67 36.782 46.397 42.195 52.859 2.912 3.475 5.962 7.53 6.779 9.011 0.815 1.481 3.617 5.425 6.226 8.765 5.755 7.371 7.049 4.825-20.224 39.801-18.85 24.175-25.561 31.971-27.478 31.924-0.532-0.012-8.71-10.004-18.172-22.204zM473.698 769.233c-1.978-1.057-8.178-7.893-13.777-15.188-12.366-16.114-13.744-17.879-44.587-57.123-13.517-17.197-26.051-33.329-27.853-35.848s-4.426-5.779-5.833-7.246c-1.405-1.466-7.268-8.933-13.029-16.593-9.327-12.399-40.663-52.283-54.591-69.489-2.855-3.525-9.984-12.741-15.843-20.48-5.859-7.737-11.891-15.544-13.4-17.347-6.031-7.197-53.5-67.758-59.841-76.345-3.723-5.044-7.752-10.205-8.952-11.469s-4.36-5.247-7.023-8.851c-2.662-3.604-11.766-15.237-20.228-25.85-20.767-26.042-23.593-24.121 35.492-24.121h49.029l7.438 8.602c4.092 4.731 14.639 17.818 23.441 29.082 8.8 11.264 21.789 27.853 28.86 36.864s15.43 19.702 18.571 23.757c12.648 16.323 20.302 26.11 32.035 40.96 14.682 18.586 44.616 56.828 48.087 61.44 29.215 38.793 43.889 55.239 46.61 52.236 2.288-2.521 27.001-34.275 30.417-39.082 1.802-2.535 6.070-8.006 9.482-12.159 8.020-9.753 50.444-63.857 59.171-75.457 3.693-4.909 9.105-11.545 12.030-14.746s5.321-6.279 5.325-6.84c0.012-1.528 16.435-21.832 18.168-22.465 0.825-0.299 1.501-1.245 1.501-2.099 0-0.856 7.721-11.301 17.158-23.212s21.049-26.571 25.805-32.578c4.755-6.009 10.49-13.517 12.743-16.687 5.493-7.729 4.303-7.569 56.621-7.594 58.511-0.029 55.931-1.745 35.701 23.734-8.585 10.813-19.72 25.19-24.744 31.949-5.022 6.758-10.301 13.543-11.731 15.077-4.583 4.917-7.311 8.317-17.443 21.74-12.253 16.232-48.728 62.822-52.488 67.043-1.52 1.702-9.107 11.399-16.867 21.545-7.758 10.148-24.795 31.967-37.861 48.488s-27.075 34.542-31.13 40.047c-4.055 5.503-10.097 13.257-13.427 17.228s-16.411 20.49-29.069 36.71c-12.657 16.22-24.31 31.056-25.893 32.969-1.585 1.911-3.987 5.167-5.339 7.231-1.352 2.066-3.768 5.132-5.37 6.81-1.604 1.679-5.358 6.255-8.344 10.166-4.899 6.418-5.782 6.926-9.023 5.19zM468.531 604.058c-6.787-6.986-35.977-43.971-41.394-52.445-3.559-5.573-1.679-9.525 12.773-26.851 1.851-2.222 9.302-11.721 24.218-30.886 5.612-7.209 20.969-26.747 34.13-43.418s27.558-35.103 31.996-40.96c9.974-13.167 13.509-17.535 18.127-22.405l3.611-3.809h47.454c26.1 0 48.622 0.449 50.047 0.995 2.72 1.044 3.545 4.897 1.247 5.831-0.737 0.301-6.427 7.182-12.642 15.292s-18.328 23.622-26.919 34.47-17.095 21.819-18.897 24.379c-1.802 2.56-4.751 6.322-6.554 8.362-3.871 4.379-8.503 10.258-21.514 27.31-5.288 6.928-21.426 27.572-35.86 45.875-14.434 18.301-29.28 37.329-32.993 42.285-3.711 4.956-9.042 11.54-11.848 14.631-2.804 3.090-5.1 6.224-5.1 6.963 0 2.961-3.453 0.997-9.882-5.62z" />
|
11 |
+
<glyph unicode="" d="M0 550.4v-409.6h819.2v819.2h-819.2v-409.6zM353.772 767.898c4.432-4.448 40.808-50.96 44.9-57.414 2.863-4.512 2.839-4.657-1.841-10.65-2.609-3.34-5.411-7.285-6.226-8.765-0.817-1.481-3.867-5.536-6.779-9.011-5.413-6.461-36.327-45.189-42.195-52.859-3.017-3.942-45.117-57.696-59.791-76.341-23.263-29.559-57.33-73.161-61.417-78.606-2.671-3.561-6.124-7.741-7.672-9.29s-4.155-4.893-5.79-7.432c-1.636-2.537-14.531-19.186-28.654-36.995-14.123-17.807-25.981-33.29-26.352-34.406-0.729-2.191-88.633-4.012-99.117-2.052-6.961 1.3-7.045 1.053 5.759 17.342 6.068 7.721 12.878 16.509 15.131 19.528 2.253 3.017 5.255 6.654 6.672 8.079s4.356 5.171 6.531 8.325c4.149 6.019 49.975 64.559 60.017 76.673 3.211 3.871 7.451 9.4 9.421 12.288 3.131 4.585 50.614 65.241 57.975 74.060 1.505 1.802 7.53 9.609 13.39 17.347 5.859 7.739 12.995 16.955 15.858 20.48 2.863 3.527 11.532 14.52 19.268 24.433 7.733 9.912 14.977 19.089 16.095 20.392 2.982 3.48 21.158 26.706 24.969 31.91 1.802 2.462 4.751 6.222 6.554 8.36 1.802 2.136 11.018 13.865 20.48 26.063 19.157 24.699 17.789 23.587 22.815 18.543zM491.065 753.877c1.602-1.677 4.018-4.743 5.37-6.81 1.352-2.064 3.754-5.321 5.339-7.231 1.583-1.913 13.236-16.749 25.893-32.969 12.659-16.22 25.739-32.739 29.069-36.71s9.372-11.725 13.427-17.228c4.055-5.505 18.063-23.525 31.13-40.047s30.104-38.341 37.861-48.488c7.76-10.146 15.348-19.843 16.867-21.545 3.76-4.221 40.235-50.811 52.488-67.043 10.131-13.423 12.859-16.822 17.443-21.74 1.43-1.534 6.709-8.319 11.731-15.077 5.024-6.758 16.159-21.135 24.744-31.949 20.23-25.479 22.811-23.763-35.701-23.734-52.318 0.025-51.128-0.135-56.621 7.594-2.253 3.17-7.987 10.678-12.743 16.687-4.755 6.007-16.368 20.666-25.805 32.578s-17.158 22.356-17.158 23.212c0 0.854-0.676 1.8-1.501 2.099-1.733 0.633-18.156 20.937-18.168 22.465-0.004 0.561-2.4 3.639-5.325 6.84s-8.337 9.837-12.030 14.746c-8.727 11.6-51.151 65.704-59.171 75.457-3.412 4.153-7.68 9.624-9.482 12.159-3.416 4.807-28.129 36.561-30.417 39.082-2.722 3.002-17.396-13.443-46.61-52.236-3.471-4.612-33.405-42.854-48.087-61.44-11.733-14.85-19.386-24.637-32.035-40.96-3.142-4.055-11.5-14.746-18.571-23.757s-20.060-25.6-28.86-36.864c-8.802-11.264-19.35-24.351-23.441-29.082l-7.438-8.602h-49.029c-59.085 0-56.259-1.921-35.492 24.121 8.462 10.613 17.566 22.245 20.228 25.85s5.822 7.588 7.023 8.851c1.2 1.264 5.229 6.425 8.952 11.469 6.341 8.587 53.809 69.149 59.841 76.345 1.509 1.802 7.541 9.609 13.4 17.347s12.988 16.955 15.843 20.48c13.928 17.205 45.265 57.090 54.591 69.489 5.761 7.66 11.624 15.127 13.029 16.593 1.407 1.466 4.030 4.727 5.833 7.246s14.336 18.651 27.853 35.848c30.843 39.244 32.221 41.009 44.587 57.123 13.969 18.201 15.895 19.046 22.8 9.998 2.986-3.912 6.74-8.487 8.344-10.166zM478.413 609.677c0-0.739 2.296-3.873 5.1-6.963 2.806-3.090 8.137-9.675 11.848-14.631 3.713-4.956 18.559-23.984 32.993-42.285 14.434-18.303 30.573-38.947 35.86-45.875 13.011-17.052 17.644-22.931 21.514-27.31 1.802-2.040 4.751-5.802 6.554-8.362s10.306-13.531 18.897-24.379c8.591-10.848 20.705-26.36 26.919-34.47 6.216-8.11 11.905-14.991 12.642-15.292 2.298-0.934 1.473-4.786-1.247-5.831-1.425-0.547-23.947-0.995-50.047-0.995h-47.454l-3.611 3.809c-4.618 4.87-8.153 9.239-18.127 22.405-4.438 5.857-18.835 24.289-31.996 40.96s-28.518 36.209-34.13 43.418c-14.916 19.165-22.366 28.664-24.218 30.886-19.075 22.864-19.53 18.924 5.986 51.853 21.176 27.329 32.516 38.859 32.516 33.063z" />
|
12 |
+
</font></defs></svg>
|
assets/fonts/metaslider.ttf
ADDED
Binary file
|
assets/fonts/metaslider.woff
ADDED
Binary file
|
assets/metaslider/admin.css
CHANGED
@@ -888,4 +888,61 @@ textarea:-ms-input-placeholder {
|
|
888 |
|
889 |
#adminmenu .toplevel_page_metaslider .wp-menu-image img {
|
890 |
opacity: 1;
|
891 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
888 |
|
889 |
#adminmenu .toplevel_page_metaslider .wp-menu-image img {
|
890 |
opacity: 1;
|
891 |
+
}
|
892 |
+
|
893 |
+
|
894 |
+
.metaslider_pro {
|
895 |
+
margin-top: 50px;
|
896 |
+
}
|
897 |
+
.metaslider_pro p {
|
898 |
+
text-align: center;
|
899 |
+
font-size: 1.2em;
|
900 |
+
}
|
901 |
+
|
902 |
+
.metaslider_pro .probutton,
|
903 |
+
.metaslider_pro .probutton:hover {
|
904 |
+
width: 36%;
|
905 |
+
margin: 20px 32% 10px 32%;
|
906 |
+
float: left;
|
907 |
+
font-size: 1.4em;
|
908 |
+
padding: 15px 0;
|
909 |
+
border-color: #3793B7;
|
910 |
+
background-color: #41add7;
|
911 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #41add7), color-stop(100%, #218cb7));
|
912 |
+
background-image: -webkit-linear-gradient(top, #41add7, #218cb7);
|
913 |
+
background-image: -moz-linear-gradient(top, #41add7, #218cb7);
|
914 |
+
background-image: -o-linear-gradient(top, #41add7, #218cb7);
|
915 |
+
background-image: linear-gradient(top, #41add7, #218cb7);
|
916 |
+
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 3px rgba(0, 0, 0, 0.2);
|
917 |
+
-moz-box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 3px rgba(0, 0, 0, 0.2);
|
918 |
+
box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 3px rgba(0, 0, 0, 0.2);
|
919 |
+
border-radius: 4px;
|
920 |
+
-webkit-box-shadow: inset 0 0 2px 0 rgba(57, 140, 255, 0.8);
|
921 |
+
box-shadow: inset 0 0 2px 0 rgba(57, 140, 255, 0.8);
|
922 |
+
color: #fff;
|
923 |
+
font-family: 'PT Sans', helvetica, arial, sans-serif;
|
924 |
+
text-shadow: 0 -1px 1px #1a5ad9;
|
925 |
+
color: white;
|
926 |
+
text-align: center;
|
927 |
+
text-decoration: none;
|
928 |
+
border-radius: 5px;
|
929 |
+
line-height: 2em;
|
930 |
+
}
|
931 |
+
|
932 |
+
.metaslider_pro .super {
|
933 |
+
text-transform: uppercase;
|
934 |
+
font-size: 0.7em;
|
935 |
+
vertical-align: top;
|
936 |
+
line-height: 2em;
|
937 |
+
}
|
938 |
+
|
939 |
+
.metaslider_pro .subtext {
|
940 |
+
float: left;
|
941 |
+
width: 100%;
|
942 |
+
text-align: center;
|
943 |
+
font-style: italic;
|
944 |
+
}
|
945 |
+
|
946 |
+
.metaslider_pro .logo {
|
947 |
+
text-transform: uppercase
|
948 |
+
}
|
assets/metaslider/global.css
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@font-face {
|
2 |
+
font-family: 'metaslider';
|
3 |
+
src: url('../fonts/metaslider.eot?rmrdbf');
|
4 |
+
src: url('../fonts/metaslider.eot?rmrdbf#iefix') format('embedded-opentype'),
|
5 |
+
url('../fonts/metaslider.ttf?rmrdbf') format('truetype'),
|
6 |
+
url('../fonts/metaslider.woff?rmrdbf') format('woff'),
|
7 |
+
url('../fonts/metaslider.svg?rmrdbf#metaslider') format('svg');
|
8 |
+
font-weight: normal;
|
9 |
+
font-style: normal;
|
10 |
+
}
|
11 |
+
|
12 |
+
#adminmenu .toplevel_page_metaslider div.wp-menu-image:before {
|
13 |
+
content: "\e900" !important;
|
14 |
+
font-family: "metaslider" !important;
|
15 |
+
speak: none;
|
16 |
+
font-size: 28px;
|
17 |
+
}
|
inc/metaslider.imagehelper.class.php
CHANGED
@@ -29,9 +29,14 @@ class MetaSliderImageHelper {
|
|
29 |
|
30 |
$upload_dir = wp_upload_dir();
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
35 |
$this->container_width = $width;
|
36 |
$this->container_height = $height;
|
37 |
$this->use_image_editor = $use_image_editor;
|
@@ -303,15 +308,6 @@ class MetaSliderImageHelper {
|
|
303 |
|
304 |
// editor will return an error if the path is invalid
|
305 |
if ( is_wp_error( $image ) ) {
|
306 |
-
|
307 |
-
$capability = apply_filters( 'metaslider_capability', 'edit_others_posts' );
|
308 |
-
|
309 |
-
if ( is_admin() && current_user_can( $capability ) ) {
|
310 |
-
echo '<div id="message" class="error">';
|
311 |
-
echo "<p><strong>ERROR</strong> Slide ID: {$this->id} - <i>" . $image->get_error_message() . "</i></p>";
|
312 |
-
echo "</div>";
|
313 |
-
}
|
314 |
-
|
315 |
return $this->url;
|
316 |
}
|
317 |
|
29 |
|
30 |
$upload_dir = wp_upload_dir();
|
31 |
|
32 |
+
if ( get_post_type( $slide_id ) === 'attachment' ) {
|
33 |
+
$this->id = $slide_id;
|
34 |
+
} else {
|
35 |
+
$this->id = get_post_thumbnail_id( $slide_id );
|
36 |
+
}
|
37 |
+
|
38 |
+
$this->url = apply_filters("metaslider_attachment_url", $upload_dir['baseurl'] . "/" . get_post_meta( $this->id, '_wp_attached_file', true ), $this->id);
|
39 |
+
$this->path = get_attached_file( $this->id );
|
40 |
$this->container_width = $width;
|
41 |
$this->container_height = $height;
|
42 |
$this->use_image_editor = $use_image_editor;
|
308 |
|
309 |
// editor will return an error if the path is invalid
|
310 |
if ( is_wp_error( $image ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
return $this->url;
|
312 |
}
|
313 |
|
inc/slide/metaslide.class.php
CHANGED
@@ -221,6 +221,34 @@ class MetaSlide {
|
|
221 |
}
|
222 |
|
223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
/**
|
225 |
* Tag the slide attachment to the slider tax category
|
226 |
*/
|
@@ -337,8 +365,8 @@ class MetaSlide {
|
|
337 |
'force_no_custom_order' => true,
|
338 |
'orderby' => 'menu_order',
|
339 |
'order' => 'DESC',
|
340 |
-
'post_type' => 'attachment',
|
341 |
-
'post_status' => 'inherit',
|
342 |
'lang' => '', // polylang, ingore language filter
|
343 |
'suppress_filters' => 1, // wpml, ignore language filter
|
344 |
'posts_per_page' => 1,
|
221 |
}
|
222 |
|
223 |
|
224 |
+
/**
|
225 |
+
* Create a new post for a slide. Tag a featured image to it.
|
226 |
+
*
|
227 |
+
* @since 3.4
|
228 |
+
* @param string $attachment_id - Media File ID to use for the slide
|
229 |
+
* @param string $type - the slide type identifier
|
230 |
+
* @param int $slider_id - the parent slideshow ID
|
231 |
+
* @return int $id - the ID of the newly created slide
|
232 |
+
*/
|
233 |
+
/*public function insert_slide($attachment_id, $type, $slider_id) {
|
234 |
+
|
235 |
+
$id = wp_insert_post( array(
|
236 |
+
'post_title' => __( "Slider {$slider_id} - {$type}", "ml-slider" ),
|
237 |
+
'post_status' => 'publish',
|
238 |
+
'post_type' => 'ml-slide'
|
239 |
+
)
|
240 |
+
);
|
241 |
+
|
242 |
+
if ( $attachment_id ) {
|
243 |
+
set_post_thumbnail( $id, $attachment_id );
|
244 |
+
}
|
245 |
+
|
246 |
+
$this->add_or_update_or_delete_meta( $id, 'type', $type );
|
247 |
+
|
248 |
+
return $id;
|
249 |
+
|
250 |
+
}*/
|
251 |
+
|
252 |
/**
|
253 |
* Tag the slide attachment to the slider tax category
|
254 |
*/
|
365 |
'force_no_custom_order' => true,
|
366 |
'orderby' => 'menu_order',
|
367 |
'order' => 'DESC',
|
368 |
+
'post_type' => array('attachment', 'ml-slide'),
|
369 |
+
'post_status' => array('inherit', 'publish'),
|
370 |
'lang' => '', // polylang, ingore language filter
|
371 |
'suppress_filters' => 1, // wpml, ignore language filter
|
372 |
'posts_per_page' => 1,
|
inc/slide/metaslide.image.class.php
CHANGED
@@ -23,6 +23,7 @@ class MetaImageSlide extends MetaSlide {
|
|
23 |
|
24 |
}
|
25 |
|
|
|
26 |
/**
|
27 |
* Create a new slide and echo the admin HTML
|
28 |
*/
|
@@ -57,6 +58,7 @@ class MetaImageSlide extends MetaSlide {
|
|
57 |
|
58 |
} else {
|
59 |
|
|
|
60 |
$this->tag_slide_to_slider();
|
61 |
$this->add_or_update_or_delete_meta( $slide_id, 'type', 'image' );
|
62 |
|
@@ -224,7 +226,13 @@ class MetaImageSlide extends MetaSlide {
|
|
224 |
*/
|
225 |
public function is_valid_image() {
|
226 |
|
227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
|
229 |
$is_valid = isset( $meta['width'], $meta['height'] );
|
230 |
|
@@ -414,7 +422,13 @@ class MetaImageSlide extends MetaSlide {
|
|
414 |
*/
|
415 |
private function flex_smart_pad( $atts, $slide ) {
|
416 |
|
417 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
|
419 |
if ( isset( $meta['width'], $meta['height'] ) ) {
|
420 |
|
@@ -426,17 +440,11 @@ class MetaImageSlide extends MetaSlide {
|
|
426 |
$new_image_height = $image_height * ( $container_width / $image_width );
|
427 |
|
428 |
if ( $new_image_height < $container_height ) {
|
429 |
-
|
430 |
$margin_top_in_px = ( $container_height - $new_image_height ) / 2;
|
431 |
-
|
432 |
$margin_top_in_percent = ( $margin_top_in_px / $container_width ) * 100;
|
433 |
-
|
434 |
return 'margin-top: ' . $margin_top_in_percent . '%';
|
435 |
-
|
436 |
} else {
|
437 |
-
|
438 |
return 'margin: 0 auto; width: ' . ( $container_height / $new_image_height ) * 100 . '%';
|
439 |
-
|
440 |
}
|
441 |
|
442 |
}
|
23 |
|
24 |
}
|
25 |
|
26 |
+
|
27 |
/**
|
28 |
* Create a new slide and echo the admin HTML
|
29 |
*/
|
58 |
|
59 |
} else {
|
60 |
|
61 |
+
//$new_slide_id = $this->insert_slide( $attachment_id, 'image', $slider_id );
|
62 |
$this->tag_slide_to_slider();
|
63 |
$this->add_or_update_or_delete_meta( $slide_id, 'type', 'image' );
|
64 |
|
226 |
*/
|
227 |
public function is_valid_image() {
|
228 |
|
229 |
+
if ( get_post_type( $this->slide->ID ) === 'attachment' ) {
|
230 |
+
$image_id = $this->slide->ID;
|
231 |
+
} else {
|
232 |
+
$image_id = get_post_thumbnail_id( $this->slide->ID );
|
233 |
+
}
|
234 |
+
|
235 |
+
$meta = wp_get_attachment_metadata( $image_id );
|
236 |
|
237 |
$is_valid = isset( $meta['width'], $meta['height'] );
|
238 |
|
422 |
*/
|
423 |
private function flex_smart_pad( $atts, $slide ) {
|
424 |
|
425 |
+
if ( get_post_type( $slide['id'] ) === 'attachment' ) {
|
426 |
+
$slide_id = $slide['id'];
|
427 |
+
} else {
|
428 |
+
$slide_id = get_post_thumbnail_id( $slide['id'] );
|
429 |
+
}
|
430 |
+
|
431 |
+
$meta = wp_get_attachment_metadata( $slide_id );
|
432 |
|
433 |
if ( isset( $meta['width'], $meta['height'] ) ) {
|
434 |
|
440 |
$new_image_height = $image_height * ( $container_width / $image_width );
|
441 |
|
442 |
if ( $new_image_height < $container_height ) {
|
|
|
443 |
$margin_top_in_px = ( $container_height - $new_image_height ) / 2;
|
|
|
444 |
$margin_top_in_percent = ( $margin_top_in_px / $container_width ) * 100;
|
|
|
445 |
return 'margin-top: ' . $margin_top_in_percent . '%';
|
|
|
446 |
} else {
|
|
|
447 |
return 'margin: 0 auto; width: ' . ( $container_height / $new_image_height ) * 100 . '%';
|
|
|
448 |
}
|
449 |
|
450 |
}
|
inc/slider/metaslider.class.php
CHANGED
@@ -134,8 +134,8 @@ class MetaSlider {
|
|
134 |
'force_no_custom_order' => true,
|
135 |
'orderby' => 'menu_order',
|
136 |
'order' => 'ASC',
|
137 |
-
'post_type' => 'attachment',
|
138 |
-
'post_status' => 'inherit',
|
139 |
'lang' => '', // polylang, ingore language filter
|
140 |
'suppress_filters' => 1, // wpml, ignore language filter
|
141 |
'posts_per_page' => -1,
|
@@ -186,7 +186,7 @@ class MetaSlider {
|
|
186 |
if ( $this->get_setting( 'random' ) == 'true' && !is_admin() ) {
|
187 |
shuffle( $slides );
|
188 |
}
|
189 |
-
|
190 |
$this->slides = $slides;
|
191 |
|
192 |
return $this->slides;
|
@@ -305,14 +305,26 @@ class MetaSlider {
|
|
305 |
$script .= "\n });";
|
306 |
$script .= $custom_js_after;
|
307 |
$script .= "\n };";
|
308 |
-
|
|
|
309 |
// this would be the sensible way to do it, but WordPress sometimes converts && to &&
|
310 |
// window.jQuery && jQuery.isReady ? {$identifier}(window.jQuery) : window.setTimeout(timer_{$identifier}, 1);";
|
311 |
-
$
|
312 |
-
$
|
313 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
|
315 |
-
return $script;
|
316 |
}
|
317 |
|
318 |
/**
|
134 |
'force_no_custom_order' => true,
|
135 |
'orderby' => 'menu_order',
|
136 |
'order' => 'ASC',
|
137 |
+
'post_type' => array('attachment', 'ml-slide'),
|
138 |
+
'post_status' => array('inherit', 'publish'),
|
139 |
'lang' => '', // polylang, ingore language filter
|
140 |
'suppress_filters' => 1, // wpml, ignore language filter
|
141 |
'posts_per_page' => -1,
|
186 |
if ( $this->get_setting( 'random' ) == 'true' && !is_admin() ) {
|
187 |
shuffle( $slides );
|
188 |
}
|
189 |
+
|
190 |
$this->slides = $slides;
|
191 |
|
192 |
return $this->slides;
|
305 |
$script .= "\n });";
|
306 |
$script .= $custom_js_after;
|
307 |
$script .= "\n };";
|
308 |
+
|
309 |
+
$timer = "\n var timer_" . $identifier . " = function() {";
|
310 |
// this would be the sensible way to do it, but WordPress sometimes converts && to &&
|
311 |
// window.jQuery && jQuery.isReady ? {$identifier}(window.jQuery) : window.setTimeout(timer_{$identifier}, 1);";
|
312 |
+
$timer .= "\n var slider = !window.jQuery ? window.setTimeout(timer_{$this->identifier}, 100) : !jQuery.isReady ? window.setTimeout(timer_{$this->identifier}, 1) : {$this->identifier}(window.jQuery);";
|
313 |
+
$timer .= "\n };";
|
314 |
+
$timer .= "\n timer_" . $identifier . "();";
|
315 |
+
|
316 |
+
/*$timer = "\n var timer_{$this->identifier} = function() {
|
317 |
+
if ( typeof window.jQuery === 'undefined' ) {
|
318 |
+
window.setTimeout(timer_metaslider_{$this->identifier}, 100);
|
319 |
+
} else {
|
320 |
+
window.jQuery(function() { {$this->identifier}(window.jQuery) });
|
321 |
+
}
|
322 |
+
};
|
323 |
+
timer_{$this->identifier}();";*/
|
324 |
+
|
325 |
+
$init = apply_filters("metaslider_timer", $timer, $this->identifier);
|
326 |
|
327 |
+
return $script . $init;
|
328 |
}
|
329 |
|
330 |
/**
|
ml-slider.php
CHANGED
@@ -5,11 +5,11 @@
|
|
5 |
* Plugin Name: Meta Slider
|
6 |
* Plugin URI: https://www.metaslider.com
|
7 |
* Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
|
8 |
-
* Version: 3.
|
9 |
* Author: Matcha Labs
|
10 |
* Author URI: https://www.metaslider.com
|
11 |
* License: GPL-2.0+
|
12 |
-
* Copyright:
|
13 |
*
|
14 |
* Text Domain: ml-slider
|
15 |
* Domain Path: /languages
|
@@ -31,7 +31,7 @@ class MetaSliderPlugin {
|
|
31 |
/**
|
32 |
* @var string
|
33 |
*/
|
34 |
-
public $version = '3.
|
35 |
|
36 |
|
37 |
/**
|
@@ -163,11 +163,13 @@ class MetaSliderPlugin {
|
|
163 |
private function setup_actions() {
|
164 |
|
165 |
add_action( 'admin_menu', array( $this, 'register_admin_menu' ), 9553 );
|
166 |
-
add_action( 'init', array( $this, '
|
167 |
add_action( 'init', array( $this, 'register_taxonomy' ) );
|
168 |
add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
|
169 |
add_action( 'admin_footer', array( $this, 'admin_footer' ), 11 );
|
170 |
add_action( 'widgets_init', array( $this, 'register_metaslider_widget' ) );
|
|
|
|
|
171 |
|
172 |
add_action( 'admin_post_metaslider_preview', array( $this, 'do_preview' ) );
|
173 |
add_action( 'admin_post_metaslider_hide_go_pro_page', array( $this, 'hide_go_pro_page' ) );
|
@@ -177,6 +179,11 @@ class MetaSliderPlugin {
|
|
177 |
add_action( 'admin_post_metaslider_create_slider', array( $this, 'create_slider' ) );
|
178 |
add_action( 'admin_post_metaslider_update_slider', array( $this, 'update_slider' ) );
|
179 |
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
|
182 |
|
@@ -213,22 +220,45 @@ class MetaSliderPlugin {
|
|
213 |
/**
|
214 |
* Register ML Slider post type
|
215 |
*/
|
216 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
|
218 |
register_post_type( 'ml-slider', array(
|
219 |
'query_var' => false,
|
220 |
'rewrite' => false,
|
221 |
-
'public' =>
|
222 |
'exclude_from_search' => true,
|
223 |
'publicly_queryable' => false,
|
224 |
'show_in_nav_menus' => false,
|
225 |
-
'show_ui' =>
|
226 |
'labels' => array(
|
227 |
'name' => 'Meta Slider'
|
228 |
)
|
229 |
)
|
230 |
);
|
231 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
}
|
233 |
|
234 |
|
@@ -237,11 +267,21 @@ class MetaSliderPlugin {
|
|
237 |
*/
|
238 |
public function register_taxonomy() {
|
239 |
|
240 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
'hierarchical' => true,
|
242 |
'public' => false,
|
243 |
'query_var' => false,
|
244 |
-
'rewrite' => false
|
|
|
|
|
245 |
)
|
246 |
);
|
247 |
|
@@ -270,7 +310,7 @@ class MetaSliderPlugin {
|
|
270 |
|
271 |
$page = add_menu_page( $title, $title, $capability, 'metaslider', array(
|
272 |
$this, 'render_admin_page'
|
273 |
-
),
|
274 |
|
275 |
// ensure our JavaScript is only loaded on the Meta Slider admin page
|
276 |
add_action( 'admin_print_scripts-' . $page, array( $this, 'register_admin_scripts' ) );
|
@@ -294,6 +334,16 @@ class MetaSliderPlugin {
|
|
294 |
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
/**
|
298 |
* Go Pro page content
|
299 |
*/
|
@@ -304,14 +354,14 @@ class MetaSliderPlugin {
|
|
304 |
'utm_source' => 'lite',
|
305 |
'utm_medium' => 'nag',
|
306 |
'utm_campaign' => 'pro'
|
307 |
-
), '
|
308 |
|
309 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
310 |
|
311 |
$hide_link = '<a href="' . admin_url( "admin-post.php?action=metaslider_hide_go_pro_page" ) . '">Hide this page</a>';
|
312 |
$gopro_link = "<a class='button button-primary' href='{$link}' target='_blank'>Find out more</a>";
|
313 |
$support_link = '<a href="https://wordpress.org/support/plugin/ml-slider">Support</a>';
|
314 |
-
$documentation_link = '<a href="
|
315 |
|
316 |
?>
|
317 |
<h2>Supercharge Your Sliders with Meta Slider Pro!</h2>
|
@@ -416,7 +466,7 @@ class MetaSliderPlugin {
|
|
416 |
$screen->add_help_tab( array(
|
417 |
'id' => 'documentation',
|
418 |
'title' => __( 'Documentation', 'ml-slider' ),
|
419 |
-
'content' => "<p><a href='
|
420 |
)
|
421 |
);
|
422 |
|
@@ -571,17 +621,36 @@ class MetaSliderPlugin {
|
|
571 |
*/
|
572 |
public function custom_media_upload_tab_name( $tabs ) {
|
573 |
|
|
|
|
|
574 |
// restrict our tab changes to the meta slider plugin page
|
575 |
-
if ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
|
577 |
-
if ( isset( $tabs['nextgen'] ) )
|
578 |
unset( $tabs['nextgen'] );
|
579 |
-
}
|
580 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
581 |
}
|
582 |
|
583 |
return $tabs;
|
584 |
|
|
|
585 |
}
|
586 |
|
587 |
|
@@ -727,8 +796,18 @@ class MetaSliderPlugin {
|
|
727 |
}
|
728 |
}
|
729 |
|
|
|
730 |
wp_set_object_terms( $slide_id, $new_terms, 'ml-slider' );
|
731 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
732 |
wp_redirect( admin_url( "admin.php?page=metaslider&id={$slider_id}" ) );
|
733 |
|
734 |
}
|
@@ -750,6 +829,11 @@ class MetaSliderPlugin {
|
|
750 |
|
751 |
$slider_id = absint( $_GET['slider_id'] );
|
752 |
|
|
|
|
|
|
|
|
|
|
|
753 |
// send the post to trash
|
754 |
$id = wp_update_post( array(
|
755 |
'ID' => $slider_id,
|
@@ -757,6 +841,8 @@ class MetaSliderPlugin {
|
|
757 |
)
|
758 |
);
|
759 |
|
|
|
|
|
760 |
$slider_id = $this->find_slider( 'modified', 'DESC' );
|
761 |
|
762 |
wp_redirect( admin_url( "admin.php?page=metaslider&id={$slider_id}" ) );
|
@@ -764,6 +850,49 @@ class MetaSliderPlugin {
|
|
764 |
}
|
765 |
|
766 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
767 |
/**
|
768 |
*
|
769 |
*/
|
@@ -1694,11 +1823,11 @@ class MetaSliderPlugin {
|
|
1694 |
<div class="inside">
|
1695 |
<ul class='info'>
|
1696 |
<li style='width: 33%;'>
|
1697 |
-
<a href="https://twitter.com/share" class="twitter-share-button" data-url="
|
1698 |
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
1699 |
</li>
|
1700 |
<li style='width: 34%;'>
|
1701 |
-
<div class="g-plusone" data-size="medium" data-href="
|
1702 |
<script type="text/javascript">
|
1703 |
(function() {
|
1704 |
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
@@ -1801,13 +1930,46 @@ class MetaSliderPlugin {
|
|
1801 |
}
|
1802 |
|
1803 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1804 |
/**
|
1805 |
* Add settings link on plugin page
|
1806 |
*/
|
1807 |
public function upgrade_to_pro_link( $links ) {
|
1808 |
|
1809 |
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
1810 |
-
$links[] = '<a href="
|
1811 |
}
|
1812 |
|
1813 |
return $links;
|
@@ -1827,7 +1989,7 @@ class MetaSliderPlugin {
|
|
1827 |
'utm_source' => 'lite',
|
1828 |
'utm_medium' => 'nag',
|
1829 |
'utm_campaign' => 'pro'
|
1830 |
-
), '
|
1831 |
|
1832 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
1833 |
|
5 |
* Plugin Name: Meta Slider
|
6 |
* Plugin URI: https://www.metaslider.com
|
7 |
* Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
|
8 |
+
* Version: 3.4
|
9 |
* Author: Matcha Labs
|
10 |
* Author URI: https://www.metaslider.com
|
11 |
* License: GPL-2.0+
|
12 |
+
* Copyright: 2017 Matcha Labs LTD
|
13 |
*
|
14 |
* Text Domain: ml-slider
|
15 |
* Domain Path: /languages
|
31 |
/**
|
32 |
* @var string
|
33 |
*/
|
34 |
+
public $version = '3.4';
|
35 |
|
36 |
|
37 |
/**
|
163 |
private function setup_actions() {
|
164 |
|
165 |
add_action( 'admin_menu', array( $this, 'register_admin_menu' ), 9553 );
|
166 |
+
add_action( 'init', array( $this, 'register_post_types' ) );
|
167 |
add_action( 'init', array( $this, 'register_taxonomy' ) );
|
168 |
add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
|
169 |
add_action( 'admin_footer', array( $this, 'admin_footer' ), 11 );
|
170 |
add_action( 'widgets_init', array( $this, 'register_metaslider_widget' ) );
|
171 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_global_styles'), 11 );
|
172 |
+
|
173 |
|
174 |
add_action( 'admin_post_metaslider_preview', array( $this, 'do_preview' ) );
|
175 |
add_action( 'admin_post_metaslider_hide_go_pro_page', array( $this, 'hide_go_pro_page' ) );
|
179 |
add_action( 'admin_post_metaslider_create_slider', array( $this, 'create_slider' ) );
|
180 |
add_action( 'admin_post_metaslider_update_slider', array( $this, 'update_slider' ) );
|
181 |
|
182 |
+
add_action( 'media_upload_vimeo', array( $this, 'upgrade_to_pro_tab' ) );
|
183 |
+
add_action( 'media_upload_youtube', array( $this, 'upgrade_to_pro_tab' ) );
|
184 |
+
add_action( 'media_upload_post_feed', array( $this, 'upgrade_to_pro_tab' ) );
|
185 |
+
add_action( 'media_upload_layer', array( $this, 'upgrade_to_pro_tab' ) );
|
186 |
+
|
187 |
}
|
188 |
|
189 |
|
220 |
/**
|
221 |
* Register ML Slider post type
|
222 |
*/
|
223 |
+
public function register_post_types() {
|
224 |
+
|
225 |
+
$show_ui = false;
|
226 |
+
|
227 |
+
$capability = apply_filters( 'metaslider_capability', 'edit_others_posts' );
|
228 |
+
|
229 |
+
if ( is_admin() && current_user_can( $capability ) && ( isset($_GET['show_ui']) || defined("METASLIDER_DEBUG") && METASLIDER_DEBUG ) ) {
|
230 |
+
$show_ui = true;
|
231 |
+
}
|
232 |
|
233 |
register_post_type( 'ml-slider', array(
|
234 |
'query_var' => false,
|
235 |
'rewrite' => false,
|
236 |
+
'public' => false,
|
237 |
'exclude_from_search' => true,
|
238 |
'publicly_queryable' => false,
|
239 |
'show_in_nav_menus' => false,
|
240 |
+
'show_ui' => $show_ui,
|
241 |
'labels' => array(
|
242 |
'name' => 'Meta Slider'
|
243 |
)
|
244 |
)
|
245 |
);
|
246 |
|
247 |
+
register_post_type( 'ml-slide', array(
|
248 |
+
'query_var' => false,
|
249 |
+
'rewrite' => false,
|
250 |
+
'public' => false,
|
251 |
+
'exclude_from_search' => true,
|
252 |
+
'publicly_queryable' => false,
|
253 |
+
'show_in_nav_menus' => false,
|
254 |
+
'show_ui' => $show_ui,
|
255 |
+
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
|
256 |
+
'labels' => array(
|
257 |
+
'name' => 'Meta Slides'
|
258 |
+
)
|
259 |
+
)
|
260 |
+
);
|
261 |
+
|
262 |
}
|
263 |
|
264 |
|
267 |
*/
|
268 |
public function register_taxonomy() {
|
269 |
|
270 |
+
$show_ui = false;
|
271 |
+
|
272 |
+
$capability = apply_filters( 'metaslider_capability', 'edit_others_posts' );
|
273 |
+
|
274 |
+
if (is_admin() && current_user_can( $capability ) && ( isset($_GET['show_ui']) || defined("METASLIDER_DEBUG") && METASLIDER_DEBUG ) ) {
|
275 |
+
$show_ui = true;
|
276 |
+
}
|
277 |
+
|
278 |
+
register_taxonomy( 'ml-slider', array('attachment', 'ml-slide'), array(
|
279 |
'hierarchical' => true,
|
280 |
'public' => false,
|
281 |
'query_var' => false,
|
282 |
+
'rewrite' => false,
|
283 |
+
'show_ui' => $show_ui,
|
284 |
+
'label' => "Slider"
|
285 |
)
|
286 |
);
|
287 |
|
310 |
|
311 |
$page = add_menu_page( $title, $title, $capability, 'metaslider', array(
|
312 |
$this, 'render_admin_page'
|
313 |
+
), "", 9501 );
|
314 |
|
315 |
// ensure our JavaScript is only loaded on the Meta Slider admin page
|
316 |
add_action( 'admin_print_scripts-' . $page, array( $this, 'register_admin_scripts' ) );
|
334 |
|
335 |
}
|
336 |
|
337 |
+
/**
|
338 |
+
* Enqueue CSS for admin menu item font icon
|
339 |
+
*
|
340 |
+
* @since 3.4
|
341 |
+
*/
|
342 |
+
public function admin_enqueue_global_styles() {
|
343 |
+
wp_enqueue_style( 'metaslider-global', METASLIDER_ASSETS_URL . 'metaslider/global.css', array(), METASLIDER_VERSION );
|
344 |
+
}
|
345 |
+
|
346 |
+
|
347 |
/**
|
348 |
* Go Pro page content
|
349 |
*/
|
354 |
'utm_source' => 'lite',
|
355 |
'utm_medium' => 'nag',
|
356 |
'utm_campaign' => 'pro'
|
357 |
+
), 'https://www.metaslider.com/upgrade/' ) );
|
358 |
|
359 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
360 |
|
361 |
$hide_link = '<a href="' . admin_url( "admin-post.php?action=metaslider_hide_go_pro_page" ) . '">Hide this page</a>';
|
362 |
$gopro_link = "<a class='button button-primary' href='{$link}' target='_blank'>Find out more</a>";
|
363 |
$support_link = '<a href="https://wordpress.org/support/plugin/ml-slider">Support</a>';
|
364 |
+
$documentation_link = '<a href="https://www.metaslider.com/documentation/">Documentation</a>';
|
365 |
|
366 |
?>
|
367 |
<h2>Supercharge Your Sliders with Meta Slider Pro!</h2>
|
466 |
$screen->add_help_tab( array(
|
467 |
'id' => 'documentation',
|
468 |
'title' => __( 'Documentation', 'ml-slider' ),
|
469 |
+
'content' => "<p><a href='https://www.metaslider.com/documentation/' target='blank'>Meta Slider Documentation</a></p>",
|
470 |
)
|
471 |
);
|
472 |
|
621 |
*/
|
622 |
public function custom_media_upload_tab_name( $tabs ) {
|
623 |
|
624 |
+
$metaslider_tabs = array( 'post_feed', 'layer', 'youtube', 'vimeo' );
|
625 |
+
|
626 |
// restrict our tab changes to the meta slider plugin page
|
627 |
+
if ( ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) || ( isset( $_GET['tab'] ) && in_array( $_GET['tab'], $metaslider_tabs ) ) ) {
|
628 |
+
$newtabs = array();
|
629 |
+
|
630 |
+
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
631 |
+
$newtabs = array(
|
632 |
+
'post_feed' => __( "Post Feed", "metaslider" ),
|
633 |
+
'vimeo' => __( "Vimeo", "metaslider" ),
|
634 |
+
'youtube' => __( "YouTube", "metaslider" ),
|
635 |
+
'layer' => __( "Layer Slide", "metaslider" )
|
636 |
+
);
|
637 |
+
}
|
638 |
|
639 |
+
if ( isset( $tabs['nextgen'] ) )
|
640 |
unset( $tabs['nextgen'] );
|
|
|
641 |
|
642 |
+
|
643 |
+
if ( is_array( $tabs ) ) {
|
644 |
+
return array_merge( $tabs, $newtabs );
|
645 |
+
} else {
|
646 |
+
return $newtabs;
|
647 |
+
}
|
648 |
+
|
649 |
}
|
650 |
|
651 |
return $tabs;
|
652 |
|
653 |
+
|
654 |
}
|
655 |
|
656 |
|
796 |
}
|
797 |
}
|
798 |
|
799 |
+
// untag slide from slider
|
800 |
wp_set_object_terms( $slide_id, $new_terms, 'ml-slider' );
|
801 |
|
802 |
+
// For new format slides - also trash the slide
|
803 |
+
if ( get_post_type( $slide_id ) === 'ml-slide' ) {
|
804 |
+
$id = wp_update_post( array(
|
805 |
+
'ID' => $slide_id,
|
806 |
+
'post_status' => 'trash'
|
807 |
+
)
|
808 |
+
);
|
809 |
+
}
|
810 |
+
|
811 |
wp_redirect( admin_url( "admin.php?page=metaslider&id={$slider_id}" ) );
|
812 |
|
813 |
}
|
829 |
|
830 |
$slider_id = absint( $_GET['slider_id'] );
|
831 |
|
832 |
+
if ( get_post_type( $slider_id ) != 'ml-slider' ) {
|
833 |
+
wp_redirect( admin_url( "admin.php?page=metaslider" ) );
|
834 |
+
wp_die();
|
835 |
+
}
|
836 |
+
|
837 |
// send the post to trash
|
838 |
$id = wp_update_post( array(
|
839 |
'ID' => $slider_id,
|
841 |
)
|
842 |
);
|
843 |
|
844 |
+
$this->delete_all_slides_from_slider($slider_id);
|
845 |
+
|
846 |
$slider_id = $this->find_slider( 'modified', 'DESC' );
|
847 |
|
848 |
wp_redirect( admin_url( "admin.php?page=metaslider&id={$slider_id}" ) );
|
850 |
}
|
851 |
|
852 |
|
853 |
+
/**
|
854 |
+
* Trashes all new format slides for a given slideshow ID
|
855 |
+
*
|
856 |
+
* @param int $slider_id
|
857 |
+
* @return int - The ID of the slideshow from which the slides were removed
|
858 |
+
*/
|
859 |
+
private function delete_all_slides_from_slider($slider_id) {
|
860 |
+
// find slides and trash them
|
861 |
+
$args = array(
|
862 |
+
'force_no_custom_order' => true,
|
863 |
+
'orderby' => 'menu_order',
|
864 |
+
'order' => 'ASC',
|
865 |
+
'post_type' => array('ml-slide'),
|
866 |
+
'post_status' => array('publish'),
|
867 |
+
'lang' => '', // polylang, ingore language filter
|
868 |
+
'suppress_filters' => 1, // wpml, ignore language filter
|
869 |
+
'posts_per_page' => -1,
|
870 |
+
'tax_query' => array(
|
871 |
+
array(
|
872 |
+
'taxonomy' => 'ml-slider',
|
873 |
+
'field' => 'slug',
|
874 |
+
'terms' => $slider_id
|
875 |
+
)
|
876 |
+
)
|
877 |
+
);
|
878 |
+
|
879 |
+
$query = new WP_Query( $args );
|
880 |
+
|
881 |
+
while ( $query->have_posts() ) {
|
882 |
+
$query->next_post();
|
883 |
+
$id = $query->post->ID;
|
884 |
+
|
885 |
+
$id = wp_update_post( array(
|
886 |
+
'ID' => $id,
|
887 |
+
'post_status' => 'trash'
|
888 |
+
)
|
889 |
+
);
|
890 |
+
}
|
891 |
+
|
892 |
+
return $slider_id;
|
893 |
+
}
|
894 |
+
|
895 |
+
|
896 |
/**
|
897 |
*
|
898 |
*/
|
1823 |
<div class="inside">
|
1824 |
<ul class='info'>
|
1825 |
<li style='width: 33%;'>
|
1826 |
+
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://www.metaslider.com" data-text="Check out Meta Slider, an easy to use slideshow plugin for WordPress" data-hashtags="metaslider, wordpress, slideshow">Tweet</a>
|
1827 |
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
1828 |
</li>
|
1829 |
<li style='width: 34%;'>
|
1830 |
+
<div class="g-plusone" data-size="medium" data-href="https://www.metaslider.com"></div>
|
1831 |
<script type="text/javascript">
|
1832 |
(function() {
|
1833 |
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
1930 |
}
|
1931 |
|
1932 |
|
1933 |
+
/**
|
1934 |
+
* Return the meta slider pro upgrade iFrame
|
1935 |
+
*/
|
1936 |
+
public function upgrade_to_pro_tab() {
|
1937 |
+
|
1938 |
+
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
1939 |
+
return wp_iframe( array( $this, 'upgrade_to_pro_iframe' ) );
|
1940 |
+
}
|
1941 |
+
|
1942 |
+
}
|
1943 |
+
|
1944 |
+
|
1945 |
+
/**
|
1946 |
+
* Media Manager iframe HTML
|
1947 |
+
*/
|
1948 |
+
public function upgrade_to_pro_iframe() {
|
1949 |
+
|
1950 |
+
wp_enqueue_style( 'metaslider-admin-styles', METASLIDER_ASSETS_URL . 'metaslider/admin.css', false, METASLIDER_VERSION );
|
1951 |
+
wp_enqueue_script( 'google-font-api', 'http://fonts.googleapis.com/css?family=PT+Sans:400,700' );
|
1952 |
+
|
1953 |
+
$link = apply_filters( 'metaslider_hoplink', 'https://www.metaslider.com/upgrade/' );
|
1954 |
+
$link .= '?utm_source=lite&utm_medium=more-slide-types&utm_campaign=pro';
|
1955 |
+
|
1956 |
+
echo implode("", array(
|
1957 |
+
"<div class='metaslider_pro'>",
|
1958 |
+
"<p>Get the Pro Addon pack to add support for: <b>Post Feed</b> Slides, <b>YouTube</b> Slides, <b>HTML</b> Slides & <b>Vimeo</b> Slides</p>",
|
1959 |
+
"<a class='probutton' href='{$link}' target='_blank'>Get <span class='logo'><strong>Meta</strong>Slider</span><span class='super'>Pro</span></a>",
|
1960 |
+
"<span class='subtext'>Opens in a new window</span>",
|
1961 |
+
"</div>"
|
1962 |
+
));
|
1963 |
+
|
1964 |
+
}
|
1965 |
+
|
1966 |
/**
|
1967 |
* Add settings link on plugin page
|
1968 |
*/
|
1969 |
public function upgrade_to_pro_link( $links ) {
|
1970 |
|
1971 |
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
1972 |
+
$links[] = '<a href="https://www.metaslider.com/upgrade/" target="_blank">' . __( "Go Pro", "ml-slider" ) . '</a>';
|
1973 |
}
|
1974 |
|
1975 |
return $links;
|
1989 |
'utm_source' => 'lite',
|
1990 |
'utm_medium' => 'nag',
|
1991 |
'utm_campaign' => 'pro'
|
1992 |
+
), 'https://www.metaslider.com/upgrade/' ) );
|
1993 |
|
1994 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
1995 |
|
readme.txt
CHANGED
@@ -1,65 +1,69 @@
|
|
1 |
=== Plugin Name ===
|
2 |
Contributors: matchalabs
|
3 |
-
Tags:
|
|
|
4 |
Requires at least: 3.5
|
5 |
Tested up to: 4.7
|
6 |
Stable tag: 3.3.7
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
-
Easy to use WordPress
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
http://www.youtube.com/watch?v=o0f3uAvL6Ic
|
15 |
|
16 |
-
The most popular WordPress slider plugin. Creating slideshows with [Meta Slider](http://www.metaslider.com/) is fast and easy. Simply select images from your WordPress Media Library, drag and drop them into place, set slide captions, links and SEO fields all from one page. You can choose from 4 different
|
17 |
|
18 |
**Includes**
|
19 |
|
20 |
* **Flex Slider 2** - Responsive, 2 transition effects, carousel mode
|
21 |
* **Nivo Slider** - Responsive, 16 transition effects, 4 themes
|
22 |
-
* **Responsive Slides** - Responsive & light weight
|
23 |
* **Coin Slider** - 4 transition effects
|
24 |
|
25 |
**Features**
|
26 |
|
27 |
-
* Simple, easy to use interface
|
28 |
* Create Responsive, SEO optimised slideshows in seconds
|
29 |
-
* Unrestricted support for Image
|
30 |
-
* Full
|
31 |
* Drag and drop slide reordering
|
32 |
* Admin preview
|
33 |
* Intelligent image cropping
|
|
|
34 |
* Built in Widget and Shortcode
|
35 |
-
* Loads of
|
36 |
* Fully localised
|
37 |
-
* Multi Site compatible
|
38 |
* Compatible with translation plugins (WPML, PolyLang & qTranslate)
|
39 |
-
* Extensive Developer API
|
40 |
* Fast - only the minimum JavaScript/CSS is included on your page
|
41 |
-
* Free basic support
|
42 |
* Lightbox support with the [Meta Slider Lightbox](http://wordpress.org/plugins/ml-slider-lightbox/) addon
|
43 |
|
44 |
Upgrade to [Meta Slider Pro](https://www.metaslider.com/upgrade) to add support for:
|
45 |
|
46 |
* YouTube & Vimeo slides
|
47 |
-
* HTML
|
48 |
-
* Layer
|
49 |
-
* Dynamic Post Feed/Featured Image
|
50 |
-
* Custom
|
51 |
* Thumbnail Navigation
|
52 |
* Premium Support
|
53 |
|
54 |
Read more and thanks to:
|
55 |
|
56 |
* [Flex Slider](http://flexslider.woothemes.com/)
|
57 |
-
* [Responsive Slides](http://
|
58 |
* [Coin Slider](http://workshop.rs/projects/coin-slider/)
|
59 |
-
* [Nivo Slider](
|
60 |
|
61 |
Find out more at https://www.metaslider.com
|
62 |
|
|
|
|
|
63 |
== Installation ==
|
64 |
|
65 |
The easy way:
|
@@ -101,7 +105,7 @@ Add the 'restrict_to' parameter to the shortcode, eg:
|
|
101 |
|
102 |
Theme specific instructions:
|
103 |
|
104 |
-
|
105 |
|
106 |
= It's not working - what can I do? =
|
107 |
|
@@ -124,7 +128,20 @@ See https://www.metaslider.com/documentation/image-cropping/
|
|
124 |
|
125 |
== Changelog ==
|
126 |
|
127 |
-
= 3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
|
129 |
* Fix: "Maximum level reached" error when inserting the shortcode for a slideshow into it's own caption. Thanks to Zhouyuan @ Fortinet for reporting this.
|
130 |
|
@@ -170,4 +187,352 @@ http://codex.wordpress.org/Security_FAQ#Why_are_there_path_disclosures_when_dire
|
|
170 |
* Fix: Return public slide when DOING_AJAX
|
171 |
* Improvement: Use admin actions to save slideshow settings
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
== Upgrade Notice ==
|
|
|
|
1 |
=== Plugin Name ===
|
2 |
Contributors: matchalabs
|
3 |
+
Tags: wordpress slideshow,seo,slideshow,slider,widget,wordpress slider,image slider,flexslider,flex slider,nivoslider,nivo slider,responsive,responsive slides,coinslider,coin slider,slideshow,carousel,responsive slider,vertical slides
|
4 |
+
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CQ84KC4X8YKW8
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 4.7
|
7 |
Stable tag: 3.3.7
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Easy to use WordPress slider plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
http://www.youtube.com/watch?v=o0f3uAvL6Ic
|
16 |
|
17 |
+
The most popular WordPress slider plugin. Creating slideshows with [Meta Slider](http://www.metaslider.com/) is fast and easy. Simply select images from your WordPress Media Library, drag and drop them into place, set slide captions, links and SEO fields all from one page. You can choose from 4 different slideshow types (Flex Slider, Nivo Slider, Responsive Slides & Coin Slider) and use the provided shortcode or template include to easily embed slideshows in your blog.
|
18 |
|
19 |
**Includes**
|
20 |
|
21 |
* **Flex Slider 2** - Responsive, 2 transition effects, carousel mode
|
22 |
* **Nivo Slider** - Responsive, 16 transition effects, 4 themes
|
23 |
+
* **Responsive Slides** - Responsive & incredibly light weight
|
24 |
* **Coin Slider** - 4 transition effects
|
25 |
|
26 |
**Features**
|
27 |
|
28 |
+
* Simple, easy to use interface - perfect for individual users, developers & clients!
|
29 |
* Create Responsive, SEO optimised slideshows in seconds
|
30 |
+
* Unrestricted support for Image slides (supports caption, link, title text, alt text)
|
31 |
+
* Full width slideshow support
|
32 |
* Drag and drop slide reordering
|
33 |
* Admin preview
|
34 |
* Intelligent image cropping
|
35 |
+
* Set image crop position
|
36 |
* Built in Widget and Shortcode
|
37 |
+
* Loads of slideshow configuration options - transition effect, speed etc (per slideshow)
|
38 |
* Fully localised
|
39 |
+
* WordPress Multi Site compatible
|
40 |
* Compatible with translation plugins (WPML, PolyLang & qTranslate)
|
41 |
+
* Extensive Developer API (hooks & filters)
|
42 |
* Fast - only the minimum JavaScript/CSS is included on your page
|
43 |
+
* Free basic support (covering installation issues and theme/plugin conflicts)
|
44 |
* Lightbox support with the [Meta Slider Lightbox](http://wordpress.org/plugins/ml-slider-lightbox/) addon
|
45 |
|
46 |
Upgrade to [Meta Slider Pro](https://www.metaslider.com/upgrade) to add support for:
|
47 |
|
48 |
* YouTube & Vimeo slides
|
49 |
+
* HTML slides
|
50 |
+
* Layer slides with CSS3 animations & HTML5 Video backgrounds
|
51 |
+
* Dynamic Post Feed/Featured Image Slides (content slider)
|
52 |
+
* Custom Themes
|
53 |
* Thumbnail Navigation
|
54 |
* Premium Support
|
55 |
|
56 |
Read more and thanks to:
|
57 |
|
58 |
* [Flex Slider](http://flexslider.woothemes.com/)
|
59 |
+
* [Responsive Slides](http://responsive-slides.viljamis.com/)
|
60 |
* [Coin Slider](http://workshop.rs/projects/coin-slider/)
|
61 |
+
* [Nivo Slider](http://dev7studios.com/nivo-slider/)
|
62 |
|
63 |
Find out more at https://www.metaslider.com
|
64 |
|
65 |
+
Follow us on Twitter: [@wpmetaslider](https://twitter.com/wpmetaslider)
|
66 |
+
|
67 |
== Installation ==
|
68 |
|
69 |
The easy way:
|
105 |
|
106 |
Theme specific instructions:
|
107 |
|
108 |
+
https://www.metaslider.com/documentation/theme-integration/
|
109 |
|
110 |
= It's not working - what can I do? =
|
111 |
|
128 |
|
129 |
== Changelog ==
|
130 |
|
131 |
+
= 3.4 [04/01/17] =
|
132 |
+
|
133 |
+
This is the first in a series of small updates which will eventually allow us to remove restrictions in the plugin which prevent us from implementing certain functionality, including:
|
134 |
+
|
135 |
+
- Changing a slide image
|
136 |
+
- Using unique captions when the same slide has been added to more than one slideshow
|
137 |
+
- Adding the same slide to a slideshow multiple times
|
138 |
+
- Duplicating slides and sliders
|
139 |
+
- Drafting slides
|
140 |
+
- Scheduling slides
|
141 |
+
|
142 |
+
We are releasing this update in a number of small stages due to the number of users Meta Slider has. We are being overly cautious to ensure it's a smooth transition. This update does not make any major changes to the current plugin functionality, but it does put in place the "scaffolding" code which we will rely on to implement further updates.
|
143 |
+
|
144 |
+
= 3.3.7 [06/05/16] =
|
145 |
|
146 |
* Fix: "Maximum level reached" error when inserting the shortcode for a slideshow into it's own caption. Thanks to Zhouyuan @ Fortinet for reporting this.
|
147 |
|
187 |
* Fix: Return public slide when DOING_AJAX
|
188 |
* Improvement: Use admin actions to save slideshow settings
|
189 |
|
190 |
+
= 3.3 [17/02/15] =
|
191 |
+
|
192 |
+
* New feature: Smart pad option (for Image Slides & Flex Slider only)
|
193 |
+
* Portuguese language files added (thanks to mauro.mascarenhas)
|
194 |
+
* Russian language files updated (thanks to asidoryak)
|
195 |
+
|
196 |
+
= 3.2.1 [16/12/14] =
|
197 |
+
|
198 |
+
* Change: Change slide image functionality backed out
|
199 |
+
* Fix: Apply FireFox mobile fix to Flex Slider (github #1110)
|
200 |
+
|
201 |
+
= 3.2 [26/11/14] =
|
202 |
+
|
203 |
+
* New feature: Change slide image (click top right of slide thumbnail)
|
204 |
+
* Update: German language files (thanks to Ov3rfly!)
|
205 |
+
|
206 |
+
= 3.1.1 [21/10/14] =
|
207 |
+
|
208 |
+
* Fix: restrict_to shortcode parameter
|
209 |
+
* Change: Add metaslider_flex_slider_list_item_attributes filter
|
210 |
+
|
211 |
+
= 3.1 [14/10/14] =
|
212 |
+
|
213 |
+
* New feature: Ajax delete slide (to stop users from losing changes when deleting a slide)
|
214 |
+
* New feature: restrict_to shortcode parameter now accepts page IDs
|
215 |
+
* Update: Change icon
|
216 |
+
* Fix: Minor admin styling fix
|
217 |
+
* Fix: Hide share buttons for pro users
|
218 |
+
* Change: Remove upgrade nags from media library, add Go Pro page (with an option to hide the page)
|
219 |
+
|
220 |
+
= 3.0.1 [19/08/14] =
|
221 |
+
|
222 |
+
* Fix: Escape admin setting text fields
|
223 |
+
* Fix: Escape admin tab names (thanks to Dylan Irzi for spotting and reporting this!)
|
224 |
+
* Change: Allow shortcode parameters to be filtered
|
225 |
+
|
226 |
+
= 3.0 [30/07/14] =
|
227 |
+
|
228 |
+
**This is not a major update. We're just following the WordPress versioning conventions (3.0 comes after 2.9)**
|
229 |
+
|
230 |
+
* New feature: Set crop position for slides (requires WP 3.9+)
|
231 |
+
* New feature: Disable cropping setting
|
232 |
+
* Fix: Use get_posts instead of WP_Query to extract slideshows (fix conflicts with plugins using get_post_type in admin_footer hooks)
|
233 |
+
* Change: Add filter for capability required to use meta slider
|
234 |
+
|
235 |
+
= 2.9.1 [15/07/14] =
|
236 |
+
|
237 |
+
* New feature: Hungarian Language Pack added
|
238 |
+
* Fix: Escape attributes and JS in slideshow output (credit to jwenerd!)
|
239 |
+
* Fix: Escape attributes and text fields in admin
|
240 |
+
* New feature: Admin slide tabs can be modified with filters
|
241 |
+
|
242 |
+
= 2.9 [25/06/14] =
|
243 |
+
|
244 |
+
* New feature: Japanese Language Pack added
|
245 |
+
* New feature: Persian Language Pack added
|
246 |
+
* New feature: Switch between tab and list view
|
247 |
+
* New feature: Added ms-left and ms-right css classes to align slideshow to left or right
|
248 |
+
* Improvement: Flex Slider updated to 2.3.0-bleeding (fix initial image fade)
|
249 |
+
* Fix: reference to window.parent in media library
|
250 |
+
* Fix: Thumbnail outline in firefox
|
251 |
+
|
252 |
+
= 2.8.1 [28/04/14] =
|
253 |
+
|
254 |
+
* Fix: All in One Events Calendar conflict fix (Advanced Settings not toggling)
|
255 |
+
* Fix: CSS resets to avoid theme conflicts
|
256 |
+
* Fix: Autoload visibility conflict (http://wordpress.org/support/topic/autoload-visibillity-conflict)
|
257 |
+
* Fix: Layer Editor in IE11 - text fields not accessible in modal windows
|
258 |
+
* Fix: FlexSlider IE11 Fade transition
|
259 |
+
|
260 |
+
= 2.8 [28/04/14] =
|
261 |
+
|
262 |
+
* New feature: Russian Language Pack added
|
263 |
+
* Fix: Carousel image scaling in FireFox
|
264 |
+
* Fix: wpautop issue with double ampersand
|
265 |
+
* New feature: Shortcode parameter added to restrict slideshow to displaying on homepage only (see FAQ)
|
266 |
+
* Improvement: Save slideshow after reordering slides
|
267 |
+
* Fix: PHP Warning when no slideshows have been created
|
268 |
+
|
269 |
+
= 2.8-beta [16/04/14] =
|
270 |
+
|
271 |
+
* Improvement: Preview now uses admin-post action
|
272 |
+
* Improvement: Classes are now auto loaded to reduce memory footprint
|
273 |
+
(Thanks to Viktor Szépe for the above suggestions!)
|
274 |
+
* Improvement: Slideshow initilisation time reduced
|
275 |
+
* Improvement: HTML5 Compatibility: Alt tags always present on image tag - even if empty.
|
276 |
+
* Improvement: Flex Slider slideshows should now 'reserve' a space for themselves while they fully load
|
277 |
+
* Update: Flex Slider updated to v2.2.2
|
278 |
+
* New feature: Romanian Language Pack added (Thanks to Octav Madalin Stanoaia)
|
279 |
+
* New feature: Dutch Language Pack added
|
280 |
+
* New feature: WP Super Cache compatibility - cache is cleared when saving slideshow
|
281 |
+
* New feature: HTML5 Compatibility (Experimental). Set `define('METASLIDER_ENABLE_RESOURCE_MANAGER', true);` in wp-config.php to move Meta Slider link tags head of the page.
|
282 |
+
|
283 |
+
= 2.7.2 [25/03/14] =
|
284 |
+
|
285 |
+
* Fix: Only apply carousel margin to slides
|
286 |
+
* Fix: Enqueue Easing library when carousel mode is enabled, regardless of effect selection
|
287 |
+
* Fix: Thumbnail margin when theme has #content div
|
288 |
+
|
289 |
+
= 2.7.1 [19/03/14] =
|
290 |
+
|
291 |
+
* Fix: Remove easing parameter when effect is set to fade
|
292 |
+
* Fix: Navigation options greyed out in IE
|
293 |
+
* Fix: qTranslate captions not being processed (typo)
|
294 |
+
|
295 |
+
= 2.7 [18/03/14] =
|
296 |
+
|
297 |
+
* New feature: Crotatian Lang pack added
|
298 |
+
* New feature: Carousel margin option added
|
299 |
+
* New feature: Process shortcodes in captions
|
300 |
+
* Improvement: Tab rename UX
|
301 |
+
* Improvement: Admin save spinner functionality improved
|
302 |
+
* Improvement: CSS Resets updated
|
303 |
+
* Improvement: Use plugins_loaded action to initialise plugin
|
304 |
+
* Fix: PHP Warnings when one slideshow exists
|
305 |
+
* Fix: Smart Cropping sometimes not returning smart cropped image
|
306 |
+
* Fix: Add z-index to meta slider, attempted conflict fix for themes with drop down menus.
|
307 |
+
* Fix: Only include the easing library when transition effect is set to slide
|
308 |
+
* Fix: White Label Branding plugin compatibility.
|
309 |
+
* Change: "Responsive" option renamed to "R. Slides". The (old) "Responsive" option refers to the "Responsive Slides" jQuery library, but users were getting confused as the naming suggested it was the only responsive option. Flex Slider & Nivo Slider are also responsive.
|
310 |
+
|
311 |
+
= 2.6.3 [23/01/14] =
|
312 |
+
|
313 |
+
* Improvement: Various admin screen styling improvements
|
314 |
+
* Fix: Add 'ms-' prefix to Advanced settings toggle boxes and Preview button (avoid theme conflicts)
|
315 |
+
* Fix: RTL fixes
|
316 |
+
* Improvement: Filters added for complete slideshow output
|
317 |
+
* Improvement: Filter added for slide image label
|
318 |
+
* Improvement: 'No Conflict' mode refactored
|
319 |
+
* Improvement: 'slider' parameter added to flexslider before/start/after etc callbacks
|
320 |
+
* Change: Renamed in admin menu from "Meta Slider Lite" to "Meta Slider"
|
321 |
+
|
322 |
+
= 2.6.2 [02/01/14] =
|
323 |
+
|
324 |
+
* Fix: Vantage background image tiling
|
325 |
+
|
326 |
+
= 2.6.1 [31/12/13] =
|
327 |
+
|
328 |
+
* Fix: Advanced settings arrow toggle
|
329 |
+
* Fix: All in one SEO / Page builder / Meta Slider conflict
|
330 |
+
* Fix: NextGen "Insert Gallery" conflict
|
331 |
+
* New feature: Norwegian language pack added
|
332 |
+
|
333 |
+
= 2.6 [19/12/13] =
|
334 |
+
|
335 |
+
* Fix: Typo in metaslider_responsive_slide_image_attributes filter
|
336 |
+
* Fix: Caption not working in Nivo Slider
|
337 |
+
* Fix: Tab styling improved
|
338 |
+
* Fix: New window styling improved in WP3.7 and below
|
339 |
+
|
340 |
+
More info/Comments: http://www.metaslider.com/coming-soon-meta-slider-2-6-free/
|
341 |
+
|
342 |
+
= 2.6-beta [15/12/13] =
|
343 |
+
|
344 |
+
* New feature: Interface update for WordPress 3.8 admin redesign
|
345 |
+
* New feature: 'Stretch' setting for full width slideshows
|
346 |
+
* New feature: No conflict mode
|
347 |
+
* New feature: 'Add slider' button for posts and pages
|
348 |
+
* New feature: SEO options (add title & alt text to slides)
|
349 |
+
* Change: CSS is now enqueued using wp_enqueue_style (Use a minification plugin or caching plugin to move styles to the <head> if HTML5 validity is required - eg W3 Total Cache)
|
350 |
+
|
351 |
+
More info/Comments: http://www.metaslider.com/coming-soon-meta-slider-2-6-free/
|
352 |
+
|
353 |
+
= 2.5 [25/11/13] =
|
354 |
+
* Fix: JetPack Photon conflict
|
355 |
+
* Improvement: German Language pack added (thanks to gordon34)
|
356 |
+
* Improvement: Chinese language pack updated (thanks to 断青丝)
|
357 |
+
* Improvement: MP6 styling fixes
|
358 |
+
|
359 |
+
= 2.5-beta2 [14/11/13] =
|
360 |
+
* Fix: Vantage theme backwards compatibility
|
361 |
+
* Fix: Flexslider anchor attributes filter
|
362 |
+
|
363 |
+
= 2.5-beta1 [12/11/13] =
|
364 |
+
* Fix: Center align slideshow
|
365 |
+
|
366 |
+
= 2.5-beta [12/11/13] =
|
367 |
+
* New Feature: 'percentwidth' parameter added to shortcode to allow for 100% wide slideshows
|
368 |
+
* Improvement: Generate resized images through multiple Ajax requests on save (blank screen fix)
|
369 |
+
* Improvement: IE9 admin styling tidied up
|
370 |
+
* Improvement: Filters added to add/change attributes in <img> and <a> tags
|
371 |
+
* Improvement: Security - nonce checking added
|
372 |
+
* Change: Remove bottom margin from flex slider when navigation is hidden (add a CSS Class of 'add-margin' if you need the margin)
|
373 |
+
* Fix: Add slides to slideshow in the same order they're selected in the Media Library
|
374 |
+
* Fix: Symlink path resolution
|
375 |
+
* Fix: Do not try to resize/open images that are corrupt (missing metadata) (blank screen fix)
|
376 |
+
|
377 |
+
= 2.4.2 [17/10/13] =
|
378 |
+
* Fix: qTranslate caption & URL parsing for image slides
|
379 |
+
|
380 |
+
= 2.4.1 [17/10/13] =
|
381 |
+
* Fix: PHP Warning (reported by & thanks to: fgirardey)
|
382 |
+
|
383 |
+
= 2.4 [16/10/13] =
|
384 |
+
* Fix: FlexSlider styling in twenty twelve theme
|
385 |
+
* Fix: IE10 - "Caption" placeholder text being saved as actual caption
|
386 |
+
* Improvement: Settings table tidied up
|
387 |
+
* Improvement: New slides are resized during addition to the slideshow
|
388 |
+
* Improvement: Default slideshow size increased to 700x300
|
389 |
+
* Improvement: Image filename now displayed for each slide (instead of image dimensions)
|
390 |
+
* Improvement: Replace deprecated 'live()' jQuery call with 'on()'
|
391 |
+
* Improvement: Polish Language pack added (thanks to gordon34)
|
392 |
+
* Improvement: Chinese language pack added (thanks to 断青丝)
|
393 |
+
* Improvement: 'metaslider_resized_image_url' filter added (could be used to disable cropping)
|
394 |
+
* Change: qTranslate support for slide URLs (see: http://screencast.com/t/FrsrptyhoT)
|
395 |
+
* Change: PolyLang fix to ensure slides are extracted for all languages (set up a new slideshow for each language)
|
396 |
+
* Change: WPML fix to ensure slides are extracted for all languages (set up a new slideshow for each language)
|
397 |
+
|
398 |
+
|
399 |
+
= 2.3 [18/09/13] =
|
400 |
+
* Improvement: Flex Slider upgraded to v2.2
|
401 |
+
* Improvement: Responsive Slides upgraded to v1.54
|
402 |
+
* Improvement: 'Create first slideshow' prompt added for new users
|
403 |
+
* Change: 'scoped' attribute removed from inline CSS tag until browsers catch up with supporting it properly. A new filter has been added: "metaslider_style_attributes" if you wish to add the scoped attribute back in.
|
404 |
+
* Change: wp_footer check removed due to confusion
|
405 |
+
* New Feature: 'metaslider_max_tabs' filter added to convert tab list to ordered drop down menu
|
406 |
+
* Fix: Remove 'Insert Media' tab from 'Add Slide' modal (WP 3.6 only)
|
407 |
+
* New Feature: Filters added to allow modification of image slide HTML
|
408 |
+
* Improvement: Settings area tidied up
|
409 |
+
* Improvement: Image URL Field less restrictive
|
410 |
+
* Improvement: HTML Output tidied up
|
411 |
+
|
412 |
+
= 2.2.2 [21/08/13] =
|
413 |
+
* Improvement: System check added with option to dismiss messages. Checks made for: role scoper plugin, wp_footer, wordpress version & GD/ImageMagick.
|
414 |
+
|
415 |
+
= 2.2.1 [08/08/13] =
|
416 |
+
* Fix: Responsive slides styling in FireFox (reported by and thanks to: dznr418)
|
417 |
+
* Fix: Flex Slider carousel causing browser to crash in some circumstances
|
418 |
+
|
419 |
+
= 2.2 [01/08/13] =
|
420 |
+
* Fix: Paragraph tags being added to output using Nivo Slider
|
421 |
+
|
422 |
+
= 2.1.6 [22/07/2013] =
|
423 |
+
* Fix: Use the original image file if the slideshow size is the same size as the image file
|
424 |
+
* Fix: Conflict with Advanced Post Types Order plugin
|
425 |
+
* Fix: Colorbox conflict when using resizable elements in lightbox
|
426 |
+
* Improvement: Refresh slides after clicking 'save'
|
427 |
+
* Improvement: Ensure taxonomy category exists before tagging slide to slideshow
|
428 |
+
* Fix: Only submit form when submit button is clicked (not all buttons)
|
429 |
+
* Fix: Coin slider caption width in FireFox
|
430 |
+
* Improvement: Added hook to adjust carousel image margin
|
431 |
+
|
432 |
+
= 2.1.5 [24/05/13] =
|
433 |
+
* Fix: HTML 5 Validation
|
434 |
+
|
435 |
+
= 2.1.4 [21/05/13] =
|
436 |
+
* Fix: Widget markup invalid (reported by and thanks to: CarlosCanvas)
|
437 |
+
|
438 |
+
= 2.1.3 [21/05/13] =
|
439 |
+
* Fix: User Access Manager Plugin incompatibility issues (reported by and thanks to: eltipografico)
|
440 |
+
|
441 |
+
= 2.1.2 [21/05/13] =
|
442 |
+
* Fix: Nivo Slider theme select dropdown (reported by and thanks to: macks)
|
443 |
+
* Fix: HTML5 Validation fix for inline styles
|
444 |
+
* Improvement: Title field added to widget (suggested by and thanks to: pa_esp)
|
445 |
+
* New feature: Spanish language pack (thanks to eltipografico)
|
446 |
+
|
447 |
+
= 2.1.1 [13/05/13] =
|
448 |
+
* Fix: PHP version compatibility
|
449 |
+
|
450 |
+
= 2.1 [12/05/13] =
|
451 |
+
* New feature: Widget added
|
452 |
+
* New feature: System check added (checks for required image libraries and WordPress version)
|
453 |
+
* Fix: Multiple CSS fixes added for popular themes
|
454 |
+
* Fix: Flex slider shows first slide when JS is disabled
|
455 |
+
* Improvement: Display warning message when unchecking Print JS and Print CSS options
|
456 |
+
* Improvement: Coinslider navigation centered
|
457 |
+
|
458 |
+
= 2.0.2 [02/05/13] =
|
459 |
+
* Fix: PHP Error when using slides the same size as the slideshow
|
460 |
+
|
461 |
+
= 2.0.1 [28/04/13] =
|
462 |
+
* New feature: French language pack (thanks to: fb-graphiklab)
|
463 |
+
* Fix: Use transparent background on default flexslider theme
|
464 |
+
* Fix: Set direction to LTR for flexslider viewport (fix for RTL languages)
|
465 |
+
* Fix: Nivoslider HTML Captions
|
466 |
+
* Fix: Responsive slides navigation positioning
|
467 |
+
|
468 |
+
= 2.0 [21/04/13] =
|
469 |
+
* Fix: Responsive slides navigation styling
|
470 |
+
* Fix: Update slide order on save
|
471 |
+
* Fix: Smart crop edge cases
|
472 |
+
* Fix: Flexslider navigation overflow
|
473 |
+
|
474 |
+
= 2.0-betaX [17/04/13] =
|
475 |
+
* Improvement: Error messages exposed in admin is Meta Slider cannot load the slides
|
476 |
+
* Improvement: Load default settings if original settings are corrupt/incomplete
|
477 |
+
* Fix: Smart Crop ratio
|
478 |
+
* Fix: UTF-8 characters in captions (reported by and thanks to: javitopo)
|
479 |
+
* Fix: JetPack Photo not loading images (reported by and thanks to: Jason)
|
480 |
+
* Fix: Double slash on jQuery easing path
|
481 |
+
* Fix: Paragraph tags outputted in JavaScript (reported by and thanks to: CrimsonRaddish)
|
482 |
+
|
483 |
+
= 2.0-beta =
|
484 |
+
* New feature: Preview slideshows in admin control panel
|
485 |
+
* New feature: 'Easing' options added to flex slider
|
486 |
+
* New feature: 'Carousel mode' option added for flex slider
|
487 |
+
* New feature: 'Auto play' option added
|
488 |
+
* New feature: 'Smart Crop' setting ensures your slideshow size remains consitent regardless of image dimensions
|
489 |
+
* New feature: 'Center align slideshow' option added for all sliders
|
490 |
+
* New feature: Coin Slider upgraded to latest version, new options now exposed in Meta Slider
|
491 |
+
* New feature: Captions now supported by responsive slides
|
492 |
+
* Improvement: Responsive AJAX powered administration screen
|
493 |
+
* Improvement: Code refactored
|
494 |
+
* Improvement: Flex Slider captions now sit over the slide
|
495 |
+
* Fix: Nivo slider invalid markup (reported by and thanks to: nellyshark)
|
496 |
+
* Fix: JS && encoding error (reported by and thanks to: neefje)
|
497 |
+
|
498 |
+
= 1.3 [28/02/13] =
|
499 |
+
* Renamed to Meta Slider (previously ML Slider)
|
500 |
+
* Improvement: Admin styling cleaned up
|
501 |
+
* Improvement: Code refactored
|
502 |
+
* Improvement: Plugin localised
|
503 |
+
* Improvement: Template include PHP code now displayed on slider edit page
|
504 |
+
* Improvement: jQuery tablednd replaced with jQuery sortable for reordering slides
|
505 |
+
* New feature: Open URL in new window option added
|
506 |
+
* Improvement: max-width css rule added to slider wrapper
|
507 |
+
* Fix: UTF-8 support in captions (reported by and thanks to: petergluk)
|
508 |
+
* Fix: JS && encoding error (reported by and thanks to: neefje)
|
509 |
+
* Fix: Editors now have permission to use MetaSlider (reported by and thanks to: rritsud)
|
510 |
+
|
511 |
+
= 1.2.1 [20/02/13] =
|
512 |
+
* Fix: Number of slides per slideshow limited to WordPress 'blog pages show at most' setting (reported by and thanks to: Kenny)
|
513 |
+
* Fix: Add warning when BMP file is added to slider (reported by and thanks to: MadBong)
|
514 |
+
* Fix: Allow images smaller than default thumbnail size to be added to slider (reported by and thanks to: MadBong)
|
515 |
+
|
516 |
+
= 1.2 [19/02/13] =
|
517 |
+
* Improvement: Code refactored
|
518 |
+
* Fix: Unable to assign the same image to more than one slider
|
519 |
+
* Fix: JavaScript error when jQuery is loaded in page footer
|
520 |
+
* Improvement: Warning notice when the slider has unsaved changes
|
521 |
+
* Fix: Captions not being escaped (reported by and thanks to: papabeers)
|
522 |
+
* Improvement: Add multiple files to slider from Media Browser
|
523 |
+
|
524 |
+
= 1.1 [18/02/13] =
|
525 |
+
* Improvement: Code refactored
|
526 |
+
* Fix: hitting [enter] brings up Media Library
|
527 |
+
* Improvement: Settings for new sliders now based on the last edited slider
|
528 |
+
* Improvement: More screenshots added
|
529 |
+
|
530 |
+
= 1.0.1 [17/02/13] =
|
531 |
+
* Fix: min version incorrect (should be 3.5)
|
532 |
+
|
533 |
+
= 1.0 [15/02/13] =
|
534 |
+
* Initial version
|
535 |
+
|
536 |
== Upgrade Notice ==
|
537 |
+
|
538 |
+
|