Version Description
[11/09/15] =
- Prepare plugin for WordPress.org translation project (rename textdomain from 'metaslider' to 'ml-slider')
- Small styling fix
Download this release
Release Info
Developer | matchalabs |
Plugin | MetaSlider |
Version | 3.3.5 |
Comparing to | |
See all releases |
Code changes from version 3.3.4.1 to 3.3.5
- assets/metaslider/admin.css +5 -0
- inc/metaslider.widget.class.php +4 -4
- inc/slide/metaslide.class.php +6 -6
- inc/slide/metaslide.image.class.php +34 -34
- languages/{metaslider-de_DE.mo → ml-slider-de_DE.mo} +0 -0
- languages/{metaslider-de_DE.po → ml-slider-de_DE.po} +0 -0
- languages/{metaslider-es_ES.mo → ml-slider-es_ES.mo} +0 -0
- languages/{metaslider-es_ES.po → ml-slider-es_ES.po} +0 -0
- languages/{metaslider-fa_IR.mo → ml-slider-fa_IR.mo} +0 -0
- languages/{metaslider-fa_IR.po → ml-slider-fa_IR.po} +0 -0
- languages/{metaslider-fr_FR.mo → ml-slider-fr_FR.mo} +0 -0
- languages/{metaslider-fr_FR.po → ml-slider-fr_FR.po} +0 -0
- languages/{metaslider-he_IL.mo → ml-slider-he_IL.mo} +0 -0
- languages/{metaslider-he_IL.po → ml-slider-he_IL.po} +0 -0
- languages/{metaslider-hr_HR.mo → ml-slider-hr_HR.mo} +0 -0
- languages/{metaslider-hr_HR.po → ml-slider-hr_HR.po} +0 -0
- languages/{metaslider-hu_HU.mo → ml-slider-hu_HU.mo} +0 -0
- languages/{metaslider-hu_HU.po → ml-slider-hu_HU.po} +0 -0
- languages/{metaslider-ja.mo → ml-slider-ja.mo} +0 -0
- languages/{metaslider-ja.po → ml-slider-ja.po} +0 -0
- languages/{metaslider-nb_NO.mo → ml-slider-nb_NO.mo} +0 -0
- languages/{metaslider-nb_NO.po → ml-slider-nb_NO.po} +0 -0
- languages/{metaslider-nl_NL.mo → ml-slider-nl_NL.mo} +0 -0
- languages/{metaslider-nl_NL.po → ml-slider-nl_NL.po} +0 -0
- languages/{metaslider-pl_PL.mo → ml-slider-pl_PL.mo} +0 -0
- languages/{metaslider-pl_PL.po → ml-slider-pl_PL.po} +0 -0
- languages/{metaslider-pt_BR.mo → ml-slider-pt_BR.mo} +0 -0
- languages/{metaslider-pt_BR.po → ml-slider-pt_BR.po} +0 -0
- languages/{metaslider-ro_RO.mo → ml-slider-ro_RO.mo} +0 -0
- languages/{metaslider-ro_RO.po → ml-slider-ro_RO.po} +0 -0
- languages/{metaslider-ru_RU.mo → ml-slider-ru_RU.mo} +0 -0
- languages/{metaslider-ru_RU.po → ml-slider-ru_RU.po} +0 -0
- languages/{metaslider-uk.mo → ml-slider-uk.mo} +0 -0
- languages/{metaslider-uk.po → ml-slider-uk.po} +0 -0
- languages/{metaslider-zh_CN.mo → ml-slider-zh_CN.mo} +0 -0
- languages/{metaslider-zh_CN.po → ml-slider-zh_CN.po} +0 -0
- languages/{metaslider-zh_TW.mo → ml-slider-zh_TW.mo} +0 -0
- languages/{metaslider-zh_TW.po → ml-slider-zh_TW.po} +0 -0
- languages/{metaslider.mo → ml-slider.mo} +0 -0
- languages/{metaslider.po → ml-slider.po} +0 -0
- ml-slider.php +153 -153
- readme.txt +7 -2
assets/metaslider/admin.css
CHANGED
@@ -852,6 +852,11 @@ textarea:-ms-input-placeholder {
|
|
852 |
|
853 |
#screen-meta-links #screen-options-link-wrap a {
|
854 |
padding: 3px 6px;
|
|
|
|
|
|
|
|
|
|
|
855 |
}
|
856 |
|
857 |
#screen-meta-links #screen-options-link-wrap a:after,
|
852 |
|
853 |
#screen-meta-links #screen-options-link-wrap a {
|
854 |
padding: 3px 6px;
|
855 |
+
text-decoration: none;
|
856 |
+
line-height: 28px;
|
857 |
+
}
|
858 |
+
#screen-meta-links #screen-options-link-wrap a:before {
|
859 |
+
line-height: 28px;
|
860 |
}
|
861 |
|
862 |
#screen-meta-links #screen-options-link-wrap a:after,
|
inc/metaslider.widget.class.php
CHANGED
@@ -16,7 +16,7 @@ class MetaSlider_Widget extends WP_Widget {
|
|
16 |
parent::__construct(
|
17 |
'metaslider_widget', // Base ID
|
18 |
'Meta Slider', // Name
|
19 |
-
array( 'description' => __( 'Meta Slider', '
|
20 |
);
|
21 |
}
|
22 |
|
@@ -106,10 +106,10 @@ class MetaSlider_Widget extends WP_Widget {
|
|
106 |
<p>
|
107 |
<?php if ( $sliders ) { ?>
|
108 |
<p>
|
109 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
110 |
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
111 |
</p>
|
112 |
-
<label for="<?php echo $this->get_field_id( 'slider_id' ); ?>"><?php _e( 'Select Slider:', '
|
113 |
<select id="<?php echo $this->get_field_id( 'slider_id' ); ?>" name="<?php echo $this->get_field_name( 'slider_id' ); ?>">
|
114 |
<?php
|
115 |
foreach ( $sliders as $slider ) {
|
@@ -119,7 +119,7 @@ class MetaSlider_Widget extends WP_Widget {
|
|
119 |
?>
|
120 |
</select>
|
121 |
<?php } else {
|
122 |
-
_e( 'No slideshows found', '
|
123 |
} ?>
|
124 |
</p>
|
125 |
<?php
|
16 |
parent::__construct(
|
17 |
'metaslider_widget', // Base ID
|
18 |
'Meta Slider', // Name
|
19 |
+
array( 'description' => __( 'Meta Slider', 'ml-slider' ) ) // Args
|
20 |
);
|
21 |
}
|
22 |
|
106 |
<p>
|
107 |
<?php if ( $sliders ) { ?>
|
108 |
<p>
|
109 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'ml-slider' ); ?></label>
|
110 |
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
111 |
</p>
|
112 |
+
<label for="<?php echo $this->get_field_id( 'slider_id' ); ?>"><?php _e( 'Select Slider:', 'ml-slider' ); ?></label>
|
113 |
<select id="<?php echo $this->get_field_id( 'slider_id' ); ?>" name="<?php echo $this->get_field_name( 'slider_id' ); ?>">
|
114 |
<?php
|
115 |
foreach ( $sliders as $slider ) {
|
119 |
?>
|
120 |
</select>
|
121 |
<?php } else {
|
122 |
+
_e( 'No slideshows found', 'ml-slider' );
|
123 |
} ?>
|
124 |
</p>
|
125 |
<?php
|
inc/slide/metaslide.class.php
CHANGED
@@ -73,7 +73,7 @@ class MetaSlide {
|
|
73 |
if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_changeslide' ) ) {
|
74 |
wp_die( json_encode( array(
|
75 |
'status' => 'fail',
|
76 |
-
'msg' => __( "Security check failed. Refresh page and try again.", "
|
77 |
)
|
78 |
));
|
79 |
}
|
@@ -118,7 +118,7 @@ class MetaSlide {
|
|
118 |
|
119 |
wp_die( json_encode( array(
|
120 |
'status' => 'fail',
|
121 |
-
'msg' => __( "File copy failed. Please check upload directory permissions.", "
|
122 |
)
|
123 |
));
|
124 |
}
|
@@ -283,8 +283,8 @@ class MetaSlide {
|
|
283 |
|
284 |
$url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slide&slider_id={$this->slider->ID}&slide_id={$this->slide->ID}" ), "metaslider_delete_slide" );
|
285 |
|
286 |
-
return "<a title='" . __("Delete slide", "
|
287 |
-
|
288 |
}
|
289 |
|
290 |
/**
|
@@ -294,7 +294,7 @@ class MetaSlide {
|
|
294 |
|
295 |
return apply_filters("metaslider_change_image_button_html", "", $this->slide);
|
296 |
|
297 |
-
//return "<a title='" . __("Change slide image", "
|
298 |
}
|
299 |
|
300 |
/**
|
@@ -367,7 +367,7 @@ class MetaSlide {
|
|
367 |
wp_update_post( array(
|
368 |
'ID' => $this->slide->ID,
|
369 |
'menu_order' => $menu_order
|
370 |
-
)
|
371 |
);
|
372 |
|
373 |
}
|
73 |
if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_changeslide' ) ) {
|
74 |
wp_die( json_encode( array(
|
75 |
'status' => 'fail',
|
76 |
+
'msg' => __( "Security check failed. Refresh page and try again.", "ml-slider" )
|
77 |
)
|
78 |
));
|
79 |
}
|
118 |
|
119 |
wp_die( json_encode( array(
|
120 |
'status' => 'fail',
|
121 |
+
'msg' => __( "File copy failed. Please check upload directory permissions.", "ml-slider" )
|
122 |
)
|
123 |
));
|
124 |
}
|
283 |
|
284 |
$url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slide&slider_id={$this->slider->ID}&slide_id={$this->slide->ID}" ), "metaslider_delete_slide" );
|
285 |
|
286 |
+
return "<a title='" . __("Delete slide", "ml-slider") . "' class='tipsy-tooltip-top delete-slide dashicons dashicons-trash' href='{$url}'>" . __("Delete slide", "ml-slider") . "</a>";
|
287 |
+
|
288 |
}
|
289 |
|
290 |
/**
|
294 |
|
295 |
return apply_filters("metaslider_change_image_button_html", "", $this->slide);
|
296 |
|
297 |
+
//return "<a title='" . __("Change slide image", "ml-slider") . "' class='tipsy-tooltip-top change-image dashicons dashicons-edit' data-button-text='" . __("Change slide image", "ml-slider") . "' data-slide-id='{$this->slide->ID}'>" . __("Change slide image", "ml-slider") . "</a>";
|
298 |
}
|
299 |
|
300 |
/**
|
367 |
wp_update_post( array(
|
368 |
'ID' => $this->slide->ID,
|
369 |
'menu_order' => $menu_order
|
370 |
+
)
|
371 |
);
|
372 |
|
373 |
}
|
inc/slide/metaslide.image.class.php
CHANGED
@@ -15,7 +15,7 @@ class MetaImageSlide extends MetaSlide {
|
|
15 |
public function __construct() {
|
16 |
|
17 |
parent::__construct();
|
18 |
-
|
19 |
add_filter( 'metaslider_get_image_slide', array( $this, 'get_slide' ), 10, 2 );
|
20 |
add_action( 'metaslider_save_image_slide', array( $this, 'save_slide' ), 5, 3 );
|
21 |
add_action( 'wp_ajax_create_image_slide', array( $this, 'ajax_create_slide' ) );
|
@@ -29,7 +29,7 @@ class MetaImageSlide extends MetaSlide {
|
|
29 |
public function ajax_create_slide() {
|
30 |
// security check
|
31 |
if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_addslide' ) ) {
|
32 |
-
echo "<tr><td colspan='2'>" . __( "Security check failed. Refresh page and try again.", '
|
33 |
wp_die();
|
34 |
}
|
35 |
|
@@ -44,17 +44,17 @@ class MetaImageSlide extends MetaSlide {
|
|
44 |
$this->set_slider( $slider_id );
|
45 |
|
46 |
if ( $this->slide_exists_in_slideshow( $slider_id, $slide_id ) ) {
|
47 |
-
|
48 |
-
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide already exists in slideshow.", '
|
49 |
-
|
50 |
} else if ( ! $this->slide_is_unassigned_or_image_slide( $slider_id, $slide_id ) ) {
|
51 |
-
|
52 |
-
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not of type 'image'.", '
|
53 |
-
|
54 |
} else if ( ! wp_attachment_is_image( $slide_id ) ) {
|
55 |
-
|
56 |
-
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not an image.", '
|
57 |
-
|
58 |
} else {
|
59 |
|
60 |
$this->tag_slide_to_slider();
|
@@ -117,7 +117,7 @@ class MetaImageSlide extends MetaSlide {
|
|
117 |
// get some slide settings
|
118 |
$imageHelper = new MetaSliderImageHelper( $this->slide->ID, 150, 150, 'false', $this->use_wp_image_editor() );
|
119 |
$thumb = $imageHelper->get_image_url();
|
120 |
-
$slide_label = apply_filters( "metaslider_image_slide_label", __( "Image Slide", "
|
121 |
|
122 |
// slide row HTML
|
123 |
$row = "<tr class='slide image flex responsive nivo coin'>
|
@@ -128,7 +128,7 @@ class MetaImageSlide extends MetaSlide {
|
|
128 |
<span class='slide-details'>{$slide_label}</span>
|
129 |
</div>
|
130 |
</td>
|
131 |
-
<td class='col-2'>
|
132 |
" . $this->get_admin_slide_tabs_html() . "
|
133 |
<input type='hidden' name='attachment[{$this->slide->ID}][type]' value='image' />
|
134 |
<input type='hidden' class='menu_order' name='attachment[{$this->slide->ID}][menu_order]' value='{$this->slide->menu_order}' />
|
@@ -152,30 +152,30 @@ class MetaImageSlide extends MetaSlide {
|
|
152 |
$target = get_post_meta( $slide_id, 'ml-slider_new_window', true ) ? 'checked=checked' : '';
|
153 |
$caption = esc_textarea( $this->slide->post_excerpt );
|
154 |
|
155 |
-
$general_tab = "<textarea name='attachment[{$slide_id}][post_excerpt]' placeholder='" . __( "Caption", "
|
156 |
-
<input class='url' type='text' name='attachment[{$slide_id}][url]' placeholder='" . __( "URL", "
|
157 |
<div class='new_window'>
|
158 |
-
<label>" . __( "New Window", "
|
159 |
</div>";
|
160 |
|
161 |
if ( ! $this->is_valid_image() ) {
|
162 |
-
$message = __( "Warning: Image data does not exist. Please re-upload the image.", "
|
163 |
|
164 |
$general_tab = "<div class='warning'>{$message}</div>" . $general_tab;
|
165 |
}
|
166 |
|
167 |
-
$seo_tab = "<div class='row'><label>" . __( "Image Title Text", "
|
168 |
<div class='row'><input type='text' size='50' name='attachment[{$slide_id}][title]' value='{$title}' /></div>
|
169 |
-
<div class='row'><label>" . __( "Image Alt Text", "
|
170 |
<div class='row'><input type='text' size='50' name='attachment[{$slide_id}][alt]' value='{$alt}' /></div>";
|
171 |
|
172 |
$tabs = array(
|
173 |
'general' => array(
|
174 |
-
'title' => __( "General", "
|
175 |
'content' => $general_tab
|
176 |
),
|
177 |
'seo' => array(
|
178 |
-
'title' => __( "SEO", "
|
179 |
'content' => $seo_tab
|
180 |
)
|
181 |
);
|
@@ -187,27 +187,27 @@ class MetaImageSlide extends MetaSlide {
|
|
187 |
if ( ! $crop_position ) {
|
188 |
$crop_position = 'center-center';
|
189 |
}
|
190 |
-
|
191 |
-
$crop_tab = "<div class='row'><label>" . __( "Crop Position", "
|
192 |
<div class='row'>
|
193 |
<select class='crop_position' name='attachment[{$slide_id}][crop_position]'>
|
194 |
-
<option value='left-top' " . selected( $crop_position, 'left-top', false ) . ">" . __( "Top Left", "
|
195 |
-
<option value='center-top' " . selected( $crop_position, 'center-top', false ) . ">" . __( "Top Center", "
|
196 |
-
<option value='right-top' " . selected( $crop_position, 'right-top', false ) . ">" . __( "Top Right", "
|
197 |
-
<option value='left-center' " . selected( $crop_position, 'left-center', false ) . ">" . __( "Center Left", "
|
198 |
-
<option value='center-center' " . selected( $crop_position, 'center-center', false ) . ">" . __( "Center Center", "
|
199 |
-
<option value='right-center' " . selected( $crop_position, 'right-center', false ) . ">" . __( "Center Right", "
|
200 |
-
<option value='left-bottom' " . selected( $crop_position, 'left-bottom', false ) . ">" . __( "Bottom Left", "
|
201 |
-
<option value='center-bottom' " . selected( $crop_position, 'center-bottom', false ) . ">" . __( "Bottom Center", "
|
202 |
-
<option value='right-bottom' " . selected( $crop_position, 'right-bottom', false ) . ">" . __( "Bottom Right", "
|
203 |
</select>
|
204 |
</div>";
|
205 |
|
206 |
$tabs['crop'] = array(
|
207 |
-
'title' => __( "Crop", "
|
208 |
'content' => $crop_tab
|
209 |
);
|
210 |
-
|
211 |
}
|
212 |
|
213 |
return apply_filters("metaslider_image_slide_tabs", $tabs, $this->slide, $this->slider, $this->settings);
|
15 |
public function __construct() {
|
16 |
|
17 |
parent::__construct();
|
18 |
+
|
19 |
add_filter( 'metaslider_get_image_slide', array( $this, 'get_slide' ), 10, 2 );
|
20 |
add_action( 'metaslider_save_image_slide', array( $this, 'save_slide' ), 5, 3 );
|
21 |
add_action( 'wp_ajax_create_image_slide', array( $this, 'ajax_create_slide' ) );
|
29 |
public function ajax_create_slide() {
|
30 |
// security check
|
31 |
if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_addslide' ) ) {
|
32 |
+
echo "<tr><td colspan='2'>" . __( "Security check failed. Refresh page and try again.", 'ml-slider' ) . "</td></tr>";
|
33 |
wp_die();
|
34 |
}
|
35 |
|
44 |
$this->set_slider( $slider_id );
|
45 |
|
46 |
if ( $this->slide_exists_in_slideshow( $slider_id, $slide_id ) ) {
|
47 |
+
|
48 |
+
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide already exists in slideshow.", 'ml-slider' ) . "</td></tr>";
|
49 |
+
|
50 |
} else if ( ! $this->slide_is_unassigned_or_image_slide( $slider_id, $slide_id ) ) {
|
51 |
+
|
52 |
+
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not of type 'image'.", 'ml-slider' ) . "</td></tr>";
|
53 |
+
|
54 |
} else if ( ! wp_attachment_is_image( $slide_id ) ) {
|
55 |
+
|
56 |
+
echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not an image.", 'ml-slider' ) . "</td></tr>";
|
57 |
+
|
58 |
} else {
|
59 |
|
60 |
$this->tag_slide_to_slider();
|
117 |
// get some slide settings
|
118 |
$imageHelper = new MetaSliderImageHelper( $this->slide->ID, 150, 150, 'false', $this->use_wp_image_editor() );
|
119 |
$thumb = $imageHelper->get_image_url();
|
120 |
+
$slide_label = apply_filters( "metaslider_image_slide_label", __( "Image Slide", "ml-slider" ), $this->slide, $this->settings );
|
121 |
|
122 |
// slide row HTML
|
123 |
$row = "<tr class='slide image flex responsive nivo coin'>
|
128 |
<span class='slide-details'>{$slide_label}</span>
|
129 |
</div>
|
130 |
</td>
|
131 |
+
<td class='col-2'>
|
132 |
" . $this->get_admin_slide_tabs_html() . "
|
133 |
<input type='hidden' name='attachment[{$this->slide->ID}][type]' value='image' />
|
134 |
<input type='hidden' class='menu_order' name='attachment[{$this->slide->ID}][menu_order]' value='{$this->slide->menu_order}' />
|
152 |
$target = get_post_meta( $slide_id, 'ml-slider_new_window', true ) ? 'checked=checked' : '';
|
153 |
$caption = esc_textarea( $this->slide->post_excerpt );
|
154 |
|
155 |
+
$general_tab = "<textarea name='attachment[{$slide_id}][post_excerpt]' placeholder='" . __( "Caption", "ml-slider" ) . "'>{$caption}</textarea>
|
156 |
+
<input class='url' type='text' name='attachment[{$slide_id}][url]' placeholder='" . __( "URL", "ml-slider" ) . "' value='{$url}' />
|
157 |
<div class='new_window'>
|
158 |
+
<label>" . __( "New Window", "ml-slider" ) . "<input type='checkbox' name='attachment[{$slide_id}][new_window]' {$target} /></label>
|
159 |
</div>";
|
160 |
|
161 |
if ( ! $this->is_valid_image() ) {
|
162 |
+
$message = __( "Warning: Image data does not exist. Please re-upload the image.", "ml-slider" );
|
163 |
|
164 |
$general_tab = "<div class='warning'>{$message}</div>" . $general_tab;
|
165 |
}
|
166 |
|
167 |
+
$seo_tab = "<div class='row'><label>" . __( "Image Title Text", "ml-slider" ) . "</label></div>
|
168 |
<div class='row'><input type='text' size='50' name='attachment[{$slide_id}][title]' value='{$title}' /></div>
|
169 |
+
<div class='row'><label>" . __( "Image Alt Text", "ml-slider" ) . "</label></div>
|
170 |
<div class='row'><input type='text' size='50' name='attachment[{$slide_id}][alt]' value='{$alt}' /></div>";
|
171 |
|
172 |
$tabs = array(
|
173 |
'general' => array(
|
174 |
+
'title' => __( "General", "ml-slider" ),
|
175 |
'content' => $general_tab
|
176 |
),
|
177 |
'seo' => array(
|
178 |
+
'title' => __( "SEO", "ml-slider" ),
|
179 |
'content' => $seo_tab
|
180 |
)
|
181 |
);
|
187 |
if ( ! $crop_position ) {
|
188 |
$crop_position = 'center-center';
|
189 |
}
|
190 |
+
|
191 |
+
$crop_tab = "<div class='row'><label>" . __( "Crop Position", "ml-slider" ) . "</label></div>
|
192 |
<div class='row'>
|
193 |
<select class='crop_position' name='attachment[{$slide_id}][crop_position]'>
|
194 |
+
<option value='left-top' " . selected( $crop_position, 'left-top', false ) . ">" . __( "Top Left", "ml-slider" ) . "</option>
|
195 |
+
<option value='center-top' " . selected( $crop_position, 'center-top', false ) . ">" . __( "Top Center", "ml-slider" ) . "</option>
|
196 |
+
<option value='right-top' " . selected( $crop_position, 'right-top', false ) . ">" . __( "Top Right", "ml-slider" ) . "</option>
|
197 |
+
<option value='left-center' " . selected( $crop_position, 'left-center', false ) . ">" . __( "Center Left", "ml-slider" ) . "</option>
|
198 |
+
<option value='center-center' " . selected( $crop_position, 'center-center', false ) . ">" . __( "Center Center", "ml-slider" ) . "</option>
|
199 |
+
<option value='right-center' " . selected( $crop_position, 'right-center', false ) . ">" . __( "Center Right", "ml-slider" ) . "</option>
|
200 |
+
<option value='left-bottom' " . selected( $crop_position, 'left-bottom', false ) . ">" . __( "Bottom Left", "ml-slider" ) . "</option>
|
201 |
+
<option value='center-bottom' " . selected( $crop_position, 'center-bottom', false ) . ">" . __( "Bottom Center", "ml-slider" ) . "</option>
|
202 |
+
<option value='right-bottom' " . selected( $crop_position, 'right-bottom', false ) . ">" . __( "Bottom Right", "ml-slider" ) . "</option>
|
203 |
</select>
|
204 |
</div>";
|
205 |
|
206 |
$tabs['crop'] = array(
|
207 |
+
'title' => __( "Crop", "ml-slider" ),
|
208 |
'content' => $crop_tab
|
209 |
);
|
210 |
+
|
211 |
}
|
212 |
|
213 |
return apply_filters("metaslider_image_slide_tabs", $tabs, $this->slide, $this->slider, $this->settings);
|
languages/{metaslider-de_DE.mo → ml-slider-de_DE.mo}
RENAMED
File without changes
|
languages/{metaslider-de_DE.po → ml-slider-de_DE.po}
RENAMED
File without changes
|
languages/{metaslider-es_ES.mo → ml-slider-es_ES.mo}
RENAMED
File without changes
|
languages/{metaslider-es_ES.po → ml-slider-es_ES.po}
RENAMED
File without changes
|
languages/{metaslider-fa_IR.mo → ml-slider-fa_IR.mo}
RENAMED
File without changes
|
languages/{metaslider-fa_IR.po → ml-slider-fa_IR.po}
RENAMED
File without changes
|
languages/{metaslider-fr_FR.mo → ml-slider-fr_FR.mo}
RENAMED
File without changes
|
languages/{metaslider-fr_FR.po → ml-slider-fr_FR.po}
RENAMED
File without changes
|
languages/{metaslider-he_IL.mo → ml-slider-he_IL.mo}
RENAMED
File without changes
|
languages/{metaslider-he_IL.po → ml-slider-he_IL.po}
RENAMED
File without changes
|
languages/{metaslider-hr_HR.mo → ml-slider-hr_HR.mo}
RENAMED
File without changes
|
languages/{metaslider-hr_HR.po → ml-slider-hr_HR.po}
RENAMED
File without changes
|
languages/{metaslider-hu_HU.mo → ml-slider-hu_HU.mo}
RENAMED
File without changes
|
languages/{metaslider-hu_HU.po → ml-slider-hu_HU.po}
RENAMED
File without changes
|
languages/{metaslider-ja.mo → ml-slider-ja.mo}
RENAMED
File without changes
|
languages/{metaslider-ja.po → ml-slider-ja.po}
RENAMED
File without changes
|
languages/{metaslider-nb_NO.mo → ml-slider-nb_NO.mo}
RENAMED
File without changes
|
languages/{metaslider-nb_NO.po → ml-slider-nb_NO.po}
RENAMED
File without changes
|
languages/{metaslider-nl_NL.mo → ml-slider-nl_NL.mo}
RENAMED
File without changes
|
languages/{metaslider-nl_NL.po → ml-slider-nl_NL.po}
RENAMED
File without changes
|
languages/{metaslider-pl_PL.mo → ml-slider-pl_PL.mo}
RENAMED
File without changes
|
languages/{metaslider-pl_PL.po → ml-slider-pl_PL.po}
RENAMED
File without changes
|
languages/{metaslider-pt_BR.mo → ml-slider-pt_BR.mo}
RENAMED
File without changes
|
languages/{metaslider-pt_BR.po → ml-slider-pt_BR.po}
RENAMED
File without changes
|
languages/{metaslider-ro_RO.mo → ml-slider-ro_RO.mo}
RENAMED
File without changes
|
languages/{metaslider-ro_RO.po → ml-slider-ro_RO.po}
RENAMED
File without changes
|
languages/{metaslider-ru_RU.mo → ml-slider-ru_RU.mo}
RENAMED
File without changes
|
languages/{metaslider-ru_RU.po → ml-slider-ru_RU.po}
RENAMED
File without changes
|
languages/{metaslider-uk.mo → ml-slider-uk.mo}
RENAMED
File without changes
|
languages/{metaslider-uk.po → ml-slider-uk.po}
RENAMED
File without changes
|
languages/{metaslider-zh_CN.mo → ml-slider-zh_CN.mo}
RENAMED
File without changes
|
languages/{metaslider-zh_CN.po → ml-slider-zh_CN.po}
RENAMED
File without changes
|
languages/{metaslider-zh_TW.mo → ml-slider-zh_TW.mo}
RENAMED
File without changes
|
languages/{metaslider-zh_TW.po → ml-slider-zh_TW.po}
RENAMED
File without changes
|
languages/{metaslider.mo → ml-slider.mo}
RENAMED
File without changes
|
languages/{metaslider.po → ml-slider.po}
RENAMED
File without changes
|
ml-slider.php
CHANGED
@@ -5,14 +5,14 @@
|
|
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.3.
|
9 |
* Author: Matcha Labs
|
10 |
* Author URI: https://www.metaslider.com
|
11 |
* License: GPL-2.0+
|
12 |
* Copyright: 2014 Matcha Labs LTD
|
13 |
*
|
14 |
-
* Text Domain:
|
15 |
-
* Domain Path: /languages
|
16 |
*/
|
17 |
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -31,7 +31,7 @@ class MetaSliderPlugin {
|
|
31 |
/**
|
32 |
* @var string
|
33 |
*/
|
34 |
-
public $version = '3.3.
|
35 |
|
36 |
|
37 |
/**
|
@@ -281,8 +281,8 @@ class MetaSliderPlugin {
|
|
281 |
|
282 |
$page = add_submenu_page(
|
283 |
'metaslider',
|
284 |
-
__( 'Go Pro!', '
|
285 |
-
__( 'Go Pro!', '
|
286 |
$capability,
|
287 |
'metaslider-go-pro',
|
288 |
array( $this, 'go_pro_page' )
|
@@ -400,7 +400,7 @@ class MetaSliderPlugin {
|
|
400 |
*/
|
401 |
public function load_plugin_textdomain() {
|
402 |
|
403 |
-
load_plugin_textdomain( '
|
404 |
|
405 |
}
|
406 |
|
@@ -415,7 +415,7 @@ class MetaSliderPlugin {
|
|
415 |
// documentation tab
|
416 |
$screen->add_help_tab( array(
|
417 |
'id' => 'documentation',
|
418 |
-
'title' => __( 'Documentation', '
|
419 |
'content' => "<p><a href='http://www.metaslider.com/documentation/' target='blank'>Meta Slider Documentation</a></p>",
|
420 |
)
|
421 |
);
|
@@ -468,17 +468,17 @@ class MetaSliderPlugin {
|
|
468 |
public function localize_admin_scripts() {
|
469 |
|
470 |
wp_localize_script( 'metaslider-admin-script', 'metaslider', array(
|
471 |
-
'url' => __( "URL", "
|
472 |
-
'caption' => __( "Caption", "
|
473 |
-
'new_window' => __( "New Window", "
|
474 |
-
'confirm' => __( "Are you sure?", "
|
475 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
476 |
-
'change_image' => __( "Select replacement image", "
|
477 |
'resize_nonce' => wp_create_nonce( 'metaslider_resize' ),
|
478 |
'addslide_nonce' => wp_create_nonce( 'metaslider_addslide' ),
|
479 |
'changeslide_nonce' => wp_create_nonce( 'metaslider_changeslide' ),
|
480 |
'iframeurl' => admin_url( 'admin-post.php?action=metaslider_preview' ),
|
481 |
-
'useWithCaution' => __( "Caution: This setting is for advanced developers only. If you're unsure, leave it checked.", "
|
482 |
)
|
483 |
);
|
484 |
|
@@ -541,8 +541,8 @@ class MetaSliderPlugin {
|
|
541 |
|
542 |
//update strings
|
543 |
if ( ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) ) {
|
544 |
-
$strings['insertMediaTitle'] = __( "Image", "
|
545 |
-
$strings['insertIntoPost'] = __( "Add to slider", "
|
546 |
// remove options
|
547 |
|
548 |
$strings_to_remove = array(
|
@@ -812,7 +812,7 @@ class MetaSliderPlugin {
|
|
812 |
|
813 |
// insert the post
|
814 |
$id = wp_insert_post( array(
|
815 |
-
'post_title' => __( "New Slider", "
|
816 |
'post_status' => 'publish',
|
817 |
'post_type' => 'ml-slider'
|
818 |
)
|
@@ -1103,7 +1103,7 @@ class MetaSliderPlugin {
|
|
1103 |
if ( $this->get_view() == 'tabs' ) {
|
1104 |
|
1105 |
echo "<div style='display: none;' id='screen-options-switch-view-wrap'>
|
1106 |
-
<a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Dropdown view", "
|
1107 |
|
1108 |
echo "<h3 class='nav-tab-wrapper'>";
|
1109 |
|
@@ -1124,13 +1124,13 @@ class MetaSliderPlugin {
|
|
1124 |
|
1125 |
if ( isset( $_GET['add'] ) && $_GET['add'] == 'true' ) {
|
1126 |
|
1127 |
-
echo "<div id='message' class='updated'><p>" . __( "New slideshow created. Click 'Add Slide' to get started!", "
|
1128 |
|
1129 |
}
|
1130 |
|
1131 |
-
echo "<div style='display: none;' id='screen-options-switch-view-wrap'><a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Tab view", "
|
1132 |
|
1133 |
-
echo "<div class='dropdown_container'><label for='select-slider'>" . __("Select Slider", "
|
1134 |
echo "<select name='select-slider' onchange='if (this.value) window.location.href=this.value'>";
|
1135 |
|
1136 |
$tabs = $this->all_meta_sliders( 'title' );
|
@@ -1149,14 +1149,14 @@ class MetaSliderPlugin {
|
|
1149 |
|
1150 |
}
|
1151 |
|
1152 |
-
echo "</select> " . __( 'or', "
|
1153 |
-
echo "<a href='{$add_url}'>" . __( 'Add New Slideshow', "
|
1154 |
|
1155 |
}
|
1156 |
} else {
|
1157 |
echo "<h3 class='nav-tab-wrapper'>";
|
1158 |
echo "<a href='{$add_url}' id='create_new_tab' class='nav-tab'>+</a>";
|
1159 |
-
echo "<div class='bubble'>" . __( "Create your first slideshow", "
|
1160 |
echo "</h3>";
|
1161 |
}
|
1162 |
}
|
@@ -1232,12 +1232,12 @@ class MetaSliderPlugin {
|
|
1232 |
<thead>
|
1233 |
<tr>
|
1234 |
<th style="width: 100px;">
|
1235 |
-
<h3><?php _e( "Slides", "
|
1236 |
<?php do_action( "metaslider_admin_table_header_left", $this->slider->id ); ?>
|
1237 |
</th>
|
1238 |
<th>
|
1239 |
-
<a href='#' class='button alignright add-slide' data-editor='content' title='<?php _e( "Add Slide", "
|
1240 |
-
<span class='wp-media-buttons-icon'></span> <?php _e( "Add Slide", "
|
1241 |
</a>
|
1242 |
<?php do_action( "metaslider_admin_table_header_right", $this->slider->id ); ?>
|
1243 |
</th>
|
@@ -1260,9 +1260,9 @@ class MetaSliderPlugin {
|
|
1260 |
<div class='right'>
|
1261 |
<div class="ms-postbox" id="metaslider_configuration">
|
1262 |
<h3 class='configuration'>
|
1263 |
-
<?php _e( "Settings", "
|
1264 |
-
<input class='alignright button button-primary' type='submit' name='save' id='ms-save' value='<?php _e( "Save", "
|
1265 |
-
<input class='alignright button button-primary' type='submit' name='preview' id='ms-preview' value='<?php _e( "Save & Preview", "
|
1266 |
<span class="spinner"></span>
|
1267 |
</h3>
|
1268 |
<div class="inside">
|
@@ -1275,10 +1275,10 @@ class MetaSliderPlugin {
|
|
1275 |
'type' => 'slider-lib',
|
1276 |
'value' => $this->slider->get_setting( 'type' ),
|
1277 |
'options' => array(
|
1278 |
-
'flex' => array( 'label' => __( "Flex Slider", "
|
1279 |
-
'responsive' => array( 'label' => __( "R. Slides", "
|
1280 |
-
'nivo' => array( 'label' => __( "Nivo Slider", "
|
1281 |
-
'coin' => array( 'label' => __( "Coin Slider", "
|
1282 |
)
|
1283 |
),
|
1284 |
'width' => array(
|
@@ -1289,10 +1289,10 @@ class MetaSliderPlugin {
|
|
1289 |
'max' => 9999,
|
1290 |
'step' => 1,
|
1291 |
'value' => $this->slider->get_setting( 'width' ),
|
1292 |
-
'label' => __( "Width", "
|
1293 |
'class' => 'coin flex responsive nivo',
|
1294 |
-
'helptext' => __( "Slideshow width", "
|
1295 |
-
'after' => __( "px", "
|
1296 |
),
|
1297 |
'height' => array(
|
1298 |
'priority' => 20,
|
@@ -1302,71 +1302,71 @@ class MetaSliderPlugin {
|
|
1302 |
'max' => 9999,
|
1303 |
'step' => 1,
|
1304 |
'value' => $this->slider->get_setting( 'height' ),
|
1305 |
-
'label' => __( "Height", "
|
1306 |
'class' => 'coin flex responsive nivo',
|
1307 |
-
'helptext' => __( "Slideshow height", "
|
1308 |
-
'after' => __( "px", "
|
1309 |
),
|
1310 |
'effect' => array(
|
1311 |
'priority' => 30,
|
1312 |
'type' => 'select',
|
1313 |
'value' => $this->slider->get_setting( 'effect' ),
|
1314 |
-
'label' => __( "Effect", "
|
1315 |
'class' => 'effect coin flex responsive nivo',
|
1316 |
-
'helptext' => __( "Slide transition effect", "
|
1317 |
'options' => array(
|
1318 |
-
'random' => array( 'class' => 'option coin nivo' , 'label' => __( "Random", "
|
1319 |
-
'swirl' => array( 'class' => 'option coin', 'label' => __( "Swirl", "
|
1320 |
-
'rain' => array( 'class' => 'option coin', 'label' => __( "Rain", "
|
1321 |
-
'straight' => array( 'class' => 'option coin', 'label' => __( "Straight", "
|
1322 |
-
'sliceDown' => array( 'class' => 'option nivo', 'label' => __( "Slide Down", "
|
1323 |
-
'sliceUp' => array( 'class' => 'option nivo', 'label' => __( "Slice Up", "
|
1324 |
-
'sliceUpLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Left", "
|
1325 |
-
'sliceUpDown' => array( 'class' => 'option nivo', 'label' => __( "Slice Up Down", "
|
1326 |
-
'slideUpDownLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Down Left", "
|
1327 |
-
'fold' => array( 'class' => 'option nivo', 'label' => __( "Fold", "
|
1328 |
-
'fade' => array( 'class' => 'option nivo flex responsive', 'label' => __( "Fade", "
|
1329 |
-
'slideInRight' => array( 'class' => 'option nivo', 'label' => __( "Slide In Right", "
|
1330 |
-
'slideInLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide In Left", "
|
1331 |
-
'boxRandom' => array( 'class' => 'option nivo', 'label' => __( "Box Random", "
|
1332 |
-
'boxRain' => array( 'class' => 'option nivo', 'label' => __( "Box Rain", "
|
1333 |
-
'boxRainReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Reverse", "
|
1334 |
-
'boxRainGrowReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Grow Reverse", "
|
1335 |
-
'slide' => array( 'class' => 'option flex', 'label' => __( "Slide", "
|
1336 |
),
|
1337 |
),
|
1338 |
'theme' => array(
|
1339 |
'priority' => 40,
|
1340 |
'type' => 'theme',
|
1341 |
'value' => $this->slider->get_setting( 'theme' ),
|
1342 |
-
'label' => __( "Theme", "
|
1343 |
'class' => 'effect coin flex responsive nivo',
|
1344 |
-
'helptext' => __( "Slideshow theme", "
|
1345 |
'options' => array(
|
1346 |
-
'default' => array( 'class' => 'option nivo flex coin responsive' , 'label' => __( "Default", "
|
1347 |
-
'dark' => array( 'class' => 'option nivo', 'label' => __( "Dark (Nivo)", "
|
1348 |
-
'light' => array( 'class' => 'option nivo', 'label' => __( "Light (Nivo)", "
|
1349 |
-
'bar' => array( 'class' => 'option nivo', 'label' => __( "Bar (Nivo)", "
|
1350 |
),
|
1351 |
),
|
1352 |
'links' => array(
|
1353 |
'priority' => 50,
|
1354 |
'type' => 'checkbox',
|
1355 |
-
'label' => __( "Arrows", "
|
1356 |
'class' => 'option coin flex nivo responsive',
|
1357 |
'checked' => $this->slider->get_setting( 'links' ) == 'true' ? 'checked' : '',
|
1358 |
-
'helptext' => __( "Show the previous/next arrows", "
|
1359 |
),
|
1360 |
'navigation' => array(
|
1361 |
'priority' => 60,
|
1362 |
'type' => 'navigation',
|
1363 |
-
'label' => __( "Navigation", "
|
1364 |
'class' => 'option coin flex nivo responsive',
|
1365 |
'value' => $this->slider->get_setting( 'navigation' ),
|
1366 |
-
'helptext' => __( "Show the slide navigation bullets", "
|
1367 |
'options' => array(
|
1368 |
-
'false' => array( 'label' => __( "Hidden", "
|
1369 |
-
'true' => array( 'label' => __( "Dots", "
|
1370 |
)
|
1371 |
),
|
1372 |
);
|
@@ -1377,8 +1377,8 @@ class MetaSliderPlugin {
|
|
1377 |
'priority' => 5,
|
1378 |
'class' => 'option flex nivo responsive coin',
|
1379 |
'value' => get_the_title($this->slider->id),
|
1380 |
-
'label' => __( "Title", "
|
1381 |
-
'helptext' => __( "Slideshow title", "
|
1382 |
);
|
1383 |
}
|
1384 |
|
@@ -1392,7 +1392,7 @@ class MetaSliderPlugin {
|
|
1392 |
</div>
|
1393 |
|
1394 |
<div class="ms-postbox ms-toggle closed" id="metaslider_advanced_settings">
|
1395 |
-
<div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Advanced Settings", "
|
1396 |
<div class="inside">
|
1397 |
<table>
|
1398 |
<tbody>
|
@@ -1401,49 +1401,49 @@ class MetaSliderPlugin {
|
|
1401 |
'fullWidth' => array(
|
1402 |
'priority' => 5,
|
1403 |
'type' => 'checkbox',
|
1404 |
-
'label' => __( "Stretch", "
|
1405 |
'class' => 'option flex nivo responsive',
|
1406 |
-
'after' => __( "100% wide output", "
|
1407 |
'checked' => $this->slider->get_setting( 'fullWidth' ) == 'true' ? 'checked' : '',
|
1408 |
-
'helptext' => __( "Stretch the slideshow output to fill it's parent container", "
|
1409 |
),
|
1410 |
'center' => array(
|
1411 |
'priority' => 10,
|
1412 |
'type' => 'checkbox',
|
1413 |
-
'label' => __( "Center align", "
|
1414 |
'class' => 'option coin flex nivo responsive',
|
1415 |
'checked' => $this->slider->get_setting( 'center' ) == 'true' ? 'checked' : '',
|
1416 |
-
'helptext' => __( "Center align the slideshow", "
|
1417 |
),
|
1418 |
'autoPlay' => array(
|
1419 |
'priority' => 20,
|
1420 |
'type' => 'checkbox',
|
1421 |
-
'label' => __( "Auto play", "
|
1422 |
'class' => 'option flex nivo responsive',
|
1423 |
'checked' => $this->slider->get_setting( 'autoPlay' ) == 'true' ? 'checked' : '',
|
1424 |
-
'helptext' => __( "Transition between slides automatically", "
|
1425 |
),
|
1426 |
'smartCrop' => array(
|
1427 |
'priority' => 30,
|
1428 |
'type' => 'select',
|
1429 |
-
'label' => __( "Image Crop", "
|
1430 |
'class' => 'option coin flex nivo responsive',
|
1431 |
'value' => $this->slider->get_setting( 'smartCrop' ),
|
1432 |
'options' => array(
|
1433 |
-
'true' => array( 'label' => __( "Smart Crop", "
|
1434 |
-
'false' => array( 'label' => __( "Standard", "
|
1435 |
-
'disabled' => array( 'label' => __( "Disabled", "
|
1436 |
-
'disabled_pad' => array( 'label' => __( "Disabled (Smart Pad)", "
|
1437 |
),
|
1438 |
-
'helptext' => __( "Smart Crop ensures your responsive slides are cropped to a ratio that results in a consistent slideshow size", "
|
1439 |
),
|
1440 |
'carouselMode' => array(
|
1441 |
'priority' => 40,
|
1442 |
'type' => 'checkbox',
|
1443 |
-
'label' => __( "Carousel mode", "
|
1444 |
'class' => 'option flex showNextWhenChecked',
|
1445 |
'checked' => $this->slider->get_setting( 'carouselMode' ) == 'true' ? 'checked' : '',
|
1446 |
-
'helptext' => __( "Display multiple slides at once. Slideshow output will be 100% wide.", "
|
1447 |
),
|
1448 |
'carouselMargin' => array(
|
1449 |
'priority' => 45,
|
@@ -1451,35 +1451,35 @@ class MetaSliderPlugin {
|
|
1451 |
'max' => 9999,
|
1452 |
'step' => 1,
|
1453 |
'type' => 'number',
|
1454 |
-
'label' => __( "Carousel margin", "
|
1455 |
'class' => 'option flex',
|
1456 |
'value' => $this->slider->get_setting( 'carouselMargin' ),
|
1457 |
-
'helptext' => __( "Pixel margin between slides in carousel.", "
|
1458 |
-
'after' => __( "px", "
|
1459 |
),
|
1460 |
'random' => array(
|
1461 |
'priority' => 50,
|
1462 |
'type' => 'checkbox',
|
1463 |
-
'label' => __( "Random", "
|
1464 |
'class' => 'option coin flex nivo responsive',
|
1465 |
'checked' => $this->slider->get_setting( 'random' ) == 'true' ? 'checked' : '',
|
1466 |
-
'helptext' => __( "Randomise the order of the slides", "
|
1467 |
),
|
1468 |
'hoverPause' => array(
|
1469 |
'priority' => 60,
|
1470 |
'type' => 'checkbox',
|
1471 |
-
'label' => __( "Hover pause", "
|
1472 |
'class' => 'option coin flex nivo responsive',
|
1473 |
'checked' => $this->slider->get_setting( 'hoverPause' ) == 'true' ? 'checked' : '',
|
1474 |
-
'helptext' => __( "Pause the slideshow when hovering over slider, then resume when no longer hovering.", "
|
1475 |
),
|
1476 |
'reverse' => array(
|
1477 |
'priority' => 70,
|
1478 |
'type' => 'checkbox',
|
1479 |
-
'label' => __( "Reverse", "
|
1480 |
'class' => 'option flex',
|
1481 |
'checked' => $this->slider->get_setting( 'reverse' ) == 'true' ? 'checked' : '',
|
1482 |
-
'helptext' => __( "Reverse the animation direction", "
|
1483 |
),
|
1484 |
'delay' => array(
|
1485 |
'priority' => 80,
|
@@ -1489,10 +1489,10 @@ class MetaSliderPlugin {
|
|
1489 |
'max' => 10000,
|
1490 |
'step' => 100,
|
1491 |
'value' => $this->slider->get_setting( 'delay' ),
|
1492 |
-
'label' => __( "Slide delay", "
|
1493 |
'class' => 'option coin flex responsive nivo',
|
1494 |
-
'helptext' => __( "How long to display each slide, in milliseconds", "
|
1495 |
-
'after' => __( "ms", "
|
1496 |
),
|
1497 |
'animationSpeed' => array(
|
1498 |
'priority' => 90,
|
@@ -1502,10 +1502,10 @@ class MetaSliderPlugin {
|
|
1502 |
'max' => 2000,
|
1503 |
'step' => 100,
|
1504 |
'value' => $this->slider->get_setting( 'animationSpeed' ),
|
1505 |
-
'label' => __( "Animation speed", "
|
1506 |
'class' => 'option flex responsive nivo',
|
1507 |
-
'helptext' => __( "Set the speed of animations, in milliseconds", "
|
1508 |
-
'after' => __( "ms", "
|
1509 |
),
|
1510 |
'slices' => array(
|
1511 |
'priority' => 100,
|
@@ -1515,10 +1515,10 @@ class MetaSliderPlugin {
|
|
1515 |
'max' => 20,
|
1516 |
'step' => 1,
|
1517 |
'value' => $this->slider->get_setting( 'slices' ),
|
1518 |
-
'label' => __( "Number of slices", "
|
1519 |
'class' => 'option nivo',
|
1520 |
-
'helptext' => __( "Number of slices", "
|
1521 |
-
'after' => __( "ms", "
|
1522 |
),
|
1523 |
'spw' => array(
|
1524 |
'priority' => 110,
|
@@ -1528,9 +1528,9 @@ class MetaSliderPlugin {
|
|
1528 |
'max' => 20,
|
1529 |
'step' => 1,
|
1530 |
'value' => $this->slider->get_setting( 'spw' ),
|
1531 |
-
'label' => __( "Number of squares", "
|
1532 |
'class' => 'option nivo',
|
1533 |
-
'helptext' => __( "Number of squares", "
|
1534 |
'after' => ''
|
1535 |
),
|
1536 |
'sph' => array(
|
@@ -1541,46 +1541,46 @@ class MetaSliderPlugin {
|
|
1541 |
'max' => 20,
|
1542 |
'step' => 1,
|
1543 |
'value' => $this->slider->get_setting( 'sph' ),
|
1544 |
-
'label' => __( "Number of squares", "
|
1545 |
'class' => 'option nivo',
|
1546 |
-
'helptext' => __( "Number of squares", "
|
1547 |
'after' => ''
|
1548 |
),
|
1549 |
'direction' => array(
|
1550 |
'priority' => 130,
|
1551 |
'type' => 'select',
|
1552 |
-
'label' => __( "Slide direction", "
|
1553 |
'class' => 'option flex',
|
1554 |
-
'helptext' => __( "Select the sliding direction", "
|
1555 |
'value' => $this->slider->get_setting( 'direction' ),
|
1556 |
'options' => array(
|
1557 |
-
'horizontal' => array( 'label' => __( "Horizontal", "
|
1558 |
-
'vertical' => array( 'label' => __( "Vertical", "
|
1559 |
)
|
1560 |
),
|
1561 |
'easing' => array(
|
1562 |
'priority' => 140,
|
1563 |
'type' => 'select',
|
1564 |
-
'label' => __( "Easing", "
|
1565 |
'class' => 'option flex',
|
1566 |
-
'helptext' => __( "Animation easing effect", "
|
1567 |
'value' => $this->slider->get_setting( 'easing' ),
|
1568 |
'options' => $this->get_easing_options()
|
1569 |
),
|
1570 |
'prevText' => array(
|
1571 |
'priority' => 150,
|
1572 |
'type' => 'text',
|
1573 |
-
'label' => __( "Previous text", "
|
1574 |
'class' => 'option coin flex responsive nivo',
|
1575 |
-
'helptext' => __( "Set the text for the 'previous' direction item", "
|
1576 |
'value' => $this->slider->get_setting( 'prevText' ) == 'false' ? '' : $this->slider->get_setting( 'prevText' )
|
1577 |
),
|
1578 |
'nextText' => array(
|
1579 |
'priority' => 160,
|
1580 |
'type' => 'text',
|
1581 |
-
'label' => __( "Next text", "
|
1582 |
'class' => 'option coin flex responsive nivo',
|
1583 |
-
'helptext' => __( "Set the text for the 'next' direction item", "
|
1584 |
'value' => $this->slider->get_setting( 'nextText' ) == 'false' ? '' : $this->slider->get_setting( 'nextText' )
|
1585 |
),
|
1586 |
'sDelay' => array(
|
@@ -1591,10 +1591,10 @@ class MetaSliderPlugin {
|
|
1591 |
'max' => 500,
|
1592 |
'step' => 10,
|
1593 |
'value' => $this->slider->get_setting( 'sDelay' ),
|
1594 |
-
'label' => __( "Square delay", "
|
1595 |
'class' => 'option coin',
|
1596 |
-
'helptext' => __( "Delay between squares in ms", "
|
1597 |
-
'after' => __( "ms", "
|
1598 |
),
|
1599 |
'opacity' => array(
|
1600 |
'priority' => 180,
|
@@ -1604,9 +1604,9 @@ class MetaSliderPlugin {
|
|
1604 |
'max' => 1,
|
1605 |
'step' => 0.1,
|
1606 |
'value' => $this->slider->get_setting( 'opacity' ),
|
1607 |
-
'label' => __( "Opacity", "
|
1608 |
'class' => 'option coin',
|
1609 |
-
'helptext' => __( "Opacity of title and navigation", "
|
1610 |
'after' => ''
|
1611 |
),
|
1612 |
'titleSpeed' => array(
|
@@ -1617,48 +1617,48 @@ class MetaSliderPlugin {
|
|
1617 |
'max' => 10000,
|
1618 |
'step' => 100,
|
1619 |
'value' => $this->slider->get_setting( 'titleSpeed' ),
|
1620 |
-
'label' => __( "Caption speed", "
|
1621 |
'class' => 'option coin',
|
1622 |
-
'helptext' => __( "Set the fade in speed of the caption", "
|
1623 |
-
'after' => __( "ms", "
|
1624 |
),
|
1625 |
'developerOptions' => array(
|
1626 |
'priority' => 195,
|
1627 |
'type' => 'divider',
|
1628 |
'class' => 'option coin flex responsive nivo',
|
1629 |
-
'value' => __( "Developer options", "
|
1630 |
),
|
1631 |
'cssClass' => array(
|
1632 |
'priority' => 200,
|
1633 |
'type' => 'text',
|
1634 |
-
'label' => __( "CSS classes", "
|
1635 |
'class' => 'option coin flex responsive nivo',
|
1636 |
-
'helptext' => __( "Specify any custom CSS Classes you would like to be added to the slider wrapper", "
|
1637 |
'value' => $this->slider->get_setting( 'cssClass' ) == 'false' ? '' : $this->slider->get_setting( 'cssClass' )
|
1638 |
),
|
1639 |
'printCss' => array(
|
1640 |
'priority' => 210,
|
1641 |
'type' => 'checkbox',
|
1642 |
-
'label' => __( "Print CSS", "
|
1643 |
'class' => 'option coin flex responsive nivo useWithCaution',
|
1644 |
'checked' => $this->slider->get_setting( 'printCss' ) == 'true' ? 'checked' : '',
|
1645 |
-
'helptext' => __( "Uncheck this is you would like to include your own CSS", "
|
1646 |
),
|
1647 |
'printJs' => array(
|
1648 |
'priority' => 220,
|
1649 |
'type' => 'checkbox',
|
1650 |
-
'label' => __( "Print JS", "
|
1651 |
'class' => 'option coin flex responsive nivo useWithCaution',
|
1652 |
'checked' => $this->slider->get_setting( 'printJs' ) == 'true' ? 'checked' : '',
|
1653 |
-
'helptext' => __( "Uncheck this is you would like to include your own Javascript", "
|
1654 |
),
|
1655 |
'noConflict' => array(
|
1656 |
'priority' => 230,
|
1657 |
'type' => 'checkbox',
|
1658 |
-
'label' => __( "No conflict mode", "
|
1659 |
'class' => 'option flex',
|
1660 |
'checked' => $this->slider->get_setting( 'noConflict' ) == 'true' ? 'checked' : '',
|
1661 |
-
'helptext' => __( "Delay adding the flexslider class to the slideshow", "
|
1662 |
),
|
1663 |
);
|
1664 |
|
@@ -1672,18 +1672,18 @@ class MetaSliderPlugin {
|
|
1672 |
</div>
|
1673 |
|
1674 |
<div class="ms-postbox shortcode ms-toggle" id="metaslider_usage">
|
1675 |
-
<div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Usage", "
|
1676 |
<div class="inside">
|
1677 |
<ul class='tabs'>
|
1678 |
-
<li rel='tab-1' class='selected'><?php _e( "Shortcode", "
|
1679 |
-
<li rel='tab-2'><?php _e( "Template Include", "
|
1680 |
</ul>
|
1681 |
<div class='tabs-content'>
|
1682 |
<div class='tab tab-1'>
|
1683 |
-
<p><?php _e( "Copy & paste the shortcode directly into any WordPress post or page.", "
|
1684 |
<input readonly='readonly' type='text' value='[metaslider id=<?php echo $this->slider->id ?>]' /></div>
|
1685 |
<div class='tab tab-2' style='display: none'>
|
1686 |
-
<p><?php _e( "Copy & paste this code into a template file to include the slideshow within your theme.", "
|
1687 |
<textarea readonly='readonly'><?php echo do_shortcode("[metaslider id=<?php echo $this->slider->id ?>]"); ?></textarea></div>
|
1688 |
</div>
|
1689 |
</div>
|
@@ -1719,7 +1719,7 @@ class MetaSliderPlugin {
|
|
1719 |
|
1720 |
<?php $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slider&slider_id={$this->slider->id}" ), "metaslider_delete_slider" ); ?>
|
1721 |
|
1722 |
-
<a class='delete-slider alignright button-secondary' href='<?php echo $url ?>'><?php _e( "Delete Slider", "
|
1723 |
</div>
|
1724 |
</div>
|
1725 |
</div>
|
@@ -1745,10 +1745,10 @@ class MetaSliderPlugin {
|
|
1745 |
|
1746 |
if ( in_array( $pagenow, array( 'post.php', 'page.php', 'post-new.php', 'post-edit.php' ) ) ) {
|
1747 |
$context .= '<a href="#TB_inline?&inlineId=choose-meta-slider" class="thickbox button" title="' .
|
1748 |
-
__( "Select slideshow to insert into post", "
|
1749 |
'"><span class="wp-media-buttons-icon" style="background: url(' . METASLIDER_ASSETS_URL .
|
1750 |
'/metaslider/matchalabs.png); background-repeat: no-repeat; background-position: left bottom;"></span> ' .
|
1751 |
-
__( "Add slider", "
|
1752 |
}
|
1753 |
|
1754 |
return $context;
|
@@ -1782,16 +1782,16 @@ class MetaSliderPlugin {
|
|
1782 |
<div class="wrap">
|
1783 |
<?php
|
1784 |
if ( count( $sliders ) ) {
|
1785 |
-
echo "<h3 style='margin-bottom: 20px;'>" . __( "Insert Meta Slider", "
|
1786 |
echo "<select id='metaslider-select'>";
|
1787 |
-
echo "<option disabled=disabled>" . __( "Choose slideshow", "
|
1788 |
foreach ( $sliders as $slider ) {
|
1789 |
echo "<option value='{$slider['id']}'>{$slider['title']}</option>";
|
1790 |
}
|
1791 |
echo "</select>";
|
1792 |
-
echo "<button class='button primary' id='insertMetaSlider'>" . __( "Insert slideshow", "
|
1793 |
} else {
|
1794 |
-
_e( "No slideshows found", "
|
1795 |
}
|
1796 |
?>
|
1797 |
</div>
|
@@ -1808,7 +1808,7 @@ class MetaSliderPlugin {
|
|
1808 |
public function upgrade_to_pro_link( $links ) {
|
1809 |
|
1810 |
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
1811 |
-
$links[] = '<a href="http://www.metaslider.com/upgrade" target="_blank">' . __( "Go Pro", "
|
1812 |
}
|
1813 |
|
1814 |
return $links;
|
@@ -1832,7 +1832,7 @@ class MetaSliderPlugin {
|
|
1832 |
|
1833 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
1834 |
|
1835 |
-
$text = "Meta Slider v" . METASLIDER_VERSION . " - " . __( 'Upgrade to Pro $19', "
|
1836 |
|
1837 |
echo "<div style='display: none;' id='screen-options-link-wrap'><a target='_blank' class='show-settings dashicons-before dashicons-performance' href='{$link}'>{$text}</a></div>";
|
1838 |
|
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.3.5
|
9 |
* Author: Matcha Labs
|
10 |
* Author URI: https://www.metaslider.com
|
11 |
* License: GPL-2.0+
|
12 |
* Copyright: 2014 Matcha Labs LTD
|
13 |
*
|
14 |
+
* Text Domain: ml-slider
|
15 |
+
* Domain Path: /languages
|
16 |
*/
|
17 |
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
31 |
/**
|
32 |
* @var string
|
33 |
*/
|
34 |
+
public $version = '3.3.5';
|
35 |
|
36 |
|
37 |
/**
|
281 |
|
282 |
$page = add_submenu_page(
|
283 |
'metaslider',
|
284 |
+
__( 'Go Pro!', 'ml-slider' ),
|
285 |
+
__( 'Go Pro!', 'ml-slider' ),
|
286 |
$capability,
|
287 |
'metaslider-go-pro',
|
288 |
array( $this, 'go_pro_page' )
|
400 |
*/
|
401 |
public function load_plugin_textdomain() {
|
402 |
|
403 |
+
load_plugin_textdomain( 'ml-slider', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
404 |
|
405 |
}
|
406 |
|
415 |
// documentation tab
|
416 |
$screen->add_help_tab( array(
|
417 |
'id' => 'documentation',
|
418 |
+
'title' => __( 'Documentation', 'ml-slider' ),
|
419 |
'content' => "<p><a href='http://www.metaslider.com/documentation/' target='blank'>Meta Slider Documentation</a></p>",
|
420 |
)
|
421 |
);
|
468 |
public function localize_admin_scripts() {
|
469 |
|
470 |
wp_localize_script( 'metaslider-admin-script', 'metaslider', array(
|
471 |
+
'url' => __( "URL", "ml-slider" ),
|
472 |
+
'caption' => __( "Caption", "ml-slider" ),
|
473 |
+
'new_window' => __( "New Window", "ml-slider" ),
|
474 |
+
'confirm' => __( "Are you sure?", "ml-slider" ),
|
475 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
476 |
+
'change_image' => __( "Select replacement image", "ml-slider"),
|
477 |
'resize_nonce' => wp_create_nonce( 'metaslider_resize' ),
|
478 |
'addslide_nonce' => wp_create_nonce( 'metaslider_addslide' ),
|
479 |
'changeslide_nonce' => wp_create_nonce( 'metaslider_changeslide' ),
|
480 |
'iframeurl' => admin_url( 'admin-post.php?action=metaslider_preview' ),
|
481 |
+
'useWithCaution' => __( "Caution: This setting is for advanced developers only. If you're unsure, leave it checked.", "ml-slider" )
|
482 |
)
|
483 |
);
|
484 |
|
541 |
|
542 |
//update strings
|
543 |
if ( ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) ) {
|
544 |
+
$strings['insertMediaTitle'] = __( "Image", "ml-slider" );
|
545 |
+
$strings['insertIntoPost'] = __( "Add to slider", "ml-slider" );
|
546 |
// remove options
|
547 |
|
548 |
$strings_to_remove = array(
|
812 |
|
813 |
// insert the post
|
814 |
$id = wp_insert_post( array(
|
815 |
+
'post_title' => __( "New Slider", "ml-slider" ),
|
816 |
'post_status' => 'publish',
|
817 |
'post_type' => 'ml-slider'
|
818 |
)
|
1103 |
if ( $this->get_view() == 'tabs' ) {
|
1104 |
|
1105 |
echo "<div style='display: none;' id='screen-options-switch-view-wrap'>
|
1106 |
+
<a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Dropdown view", "ml-slider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=dropdown") . "'>" . __("Dropdown", "ml-slider") . "</a></div>";
|
1107 |
|
1108 |
echo "<h3 class='nav-tab-wrapper'>";
|
1109 |
|
1124 |
|
1125 |
if ( isset( $_GET['add'] ) && $_GET['add'] == 'true' ) {
|
1126 |
|
1127 |
+
echo "<div id='message' class='updated'><p>" . __( "New slideshow created. Click 'Add Slide' to get started!", "ml-slider" ) . "</p></div>";
|
1128 |
|
1129 |
}
|
1130 |
|
1131 |
+
echo "<div style='display: none;' id='screen-options-switch-view-wrap'><a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Tab view", "ml-slider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=tabs") . "'>" . __("Tabs", "ml-slider") . "</a></div>";
|
1132 |
|
1133 |
+
echo "<div class='dropdown_container'><label for='select-slider'>" . __("Select Slider", "ml-slider") . ": </label>";
|
1134 |
echo "<select name='select-slider' onchange='if (this.value) window.location.href=this.value'>";
|
1135 |
|
1136 |
$tabs = $this->all_meta_sliders( 'title' );
|
1149 |
|
1150 |
}
|
1151 |
|
1152 |
+
echo "</select> " . __( 'or', "ml-slider" ) . " ";
|
1153 |
+
echo "<a href='{$add_url}'>" . __( 'Add New Slideshow', "ml-slider" ) . "</a></div>";
|
1154 |
|
1155 |
}
|
1156 |
} else {
|
1157 |
echo "<h3 class='nav-tab-wrapper'>";
|
1158 |
echo "<a href='{$add_url}' id='create_new_tab' class='nav-tab'>+</a>";
|
1159 |
+
echo "<div class='bubble'>" . __( "Create your first slideshow", "ml-slider" ) . "</div>";
|
1160 |
echo "</h3>";
|
1161 |
}
|
1162 |
}
|
1232 |
<thead>
|
1233 |
<tr>
|
1234 |
<th style="width: 100px;">
|
1235 |
+
<h3><?php _e( "Slides", "ml-slider" ) ?></h3>
|
1236 |
<?php do_action( "metaslider_admin_table_header_left", $this->slider->id ); ?>
|
1237 |
</th>
|
1238 |
<th>
|
1239 |
+
<a href='#' class='button alignright add-slide' data-editor='content' title='<?php _e( "Add Slide", "ml-slider" ) ?>'>
|
1240 |
+
<span class='wp-media-buttons-icon'></span> <?php _e( "Add Slide", "ml-slider" ) ?>
|
1241 |
</a>
|
1242 |
<?php do_action( "metaslider_admin_table_header_right", $this->slider->id ); ?>
|
1243 |
</th>
|
1260 |
<div class='right'>
|
1261 |
<div class="ms-postbox" id="metaslider_configuration">
|
1262 |
<h3 class='configuration'>
|
1263 |
+
<?php _e( "Settings", "ml-slider" ) ?>
|
1264 |
+
<input class='alignright button button-primary' type='submit' name='save' id='ms-save' value='<?php _e( "Save", "ml-slider" ) ?>' />
|
1265 |
+
<input class='alignright button button-primary' type='submit' name='preview' id='ms-preview' value='<?php _e( "Save & Preview", "ml-slider" ) ?>' data-slider_id='<?php echo $this->slider->id ?>' data-slider_width='<?php echo $this->slider->get_setting( 'width' ) ?>' data-slider_height='<?php echo $this->slider->get_setting( 'height' ) ?>' />
|
1266 |
<span class="spinner"></span>
|
1267 |
</h3>
|
1268 |
<div class="inside">
|
1275 |
'type' => 'slider-lib',
|
1276 |
'value' => $this->slider->get_setting( 'type' ),
|
1277 |
'options' => array(
|
1278 |
+
'flex' => array( 'label' => __( "Flex Slider", "ml-slider" ) ),
|
1279 |
+
'responsive' => array( 'label' => __( "R. Slides", "ml-slider" ) ),
|
1280 |
+
'nivo' => array( 'label' => __( "Nivo Slider", "ml-slider" ) ),
|
1281 |
+
'coin' => array( 'label' => __( "Coin Slider", "ml-slider" ) )
|
1282 |
)
|
1283 |
),
|
1284 |
'width' => array(
|
1289 |
'max' => 9999,
|
1290 |
'step' => 1,
|
1291 |
'value' => $this->slider->get_setting( 'width' ),
|
1292 |
+
'label' => __( "Width", "ml-slider" ),
|
1293 |
'class' => 'coin flex responsive nivo',
|
1294 |
+
'helptext' => __( "Slideshow width", "ml-slider" ),
|
1295 |
+
'after' => __( "px", "ml-slider" )
|
1296 |
),
|
1297 |
'height' => array(
|
1298 |
'priority' => 20,
|
1302 |
'max' => 9999,
|
1303 |
'step' => 1,
|
1304 |
'value' => $this->slider->get_setting( 'height' ),
|
1305 |
+
'label' => __( "Height", "ml-slider" ),
|
1306 |
'class' => 'coin flex responsive nivo',
|
1307 |
+
'helptext' => __( "Slideshow height", "ml-slider" ),
|
1308 |
+
'after' => __( "px", "ml-slider" )
|
1309 |
),
|
1310 |
'effect' => array(
|
1311 |
'priority' => 30,
|
1312 |
'type' => 'select',
|
1313 |
'value' => $this->slider->get_setting( 'effect' ),
|
1314 |
+
'label' => __( "Effect", "ml-slider" ),
|
1315 |
'class' => 'effect coin flex responsive nivo',
|
1316 |
+
'helptext' => __( "Slide transition effect", "ml-slider" ),
|
1317 |
'options' => array(
|
1318 |
+
'random' => array( 'class' => 'option coin nivo' , 'label' => __( "Random", "ml-slider" ) ),
|
1319 |
+
'swirl' => array( 'class' => 'option coin', 'label' => __( "Swirl", "ml-slider" ) ),
|
1320 |
+
'rain' => array( 'class' => 'option coin', 'label' => __( "Rain", "ml-slider" ) ),
|
1321 |
+
'straight' => array( 'class' => 'option coin', 'label' => __( "Straight", "ml-slider" ) ),
|
1322 |
+
'sliceDown' => array( 'class' => 'option nivo', 'label' => __( "Slide Down", "ml-slider" ) ),
|
1323 |
+
'sliceUp' => array( 'class' => 'option nivo', 'label' => __( "Slice Up", "ml-slider" ) ),
|
1324 |
+
'sliceUpLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Left", "ml-slider" ) ),
|
1325 |
+
'sliceUpDown' => array( 'class' => 'option nivo', 'label' => __( "Slice Up Down", "ml-slider" ) ),
|
1326 |
+
'slideUpDownLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Down Left", "ml-slider" ) ),
|
1327 |
+
'fold' => array( 'class' => 'option nivo', 'label' => __( "Fold", "ml-slider" ) ),
|
1328 |
+
'fade' => array( 'class' => 'option nivo flex responsive', 'label' => __( "Fade", "ml-slider" ) ),
|
1329 |
+
'slideInRight' => array( 'class' => 'option nivo', 'label' => __( "Slide In Right", "ml-slider" ) ),
|
1330 |
+
'slideInLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide In Left", "ml-slider" ) ),
|
1331 |
+
'boxRandom' => array( 'class' => 'option nivo', 'label' => __( "Box Random", "ml-slider" ) ),
|
1332 |
+
'boxRain' => array( 'class' => 'option nivo', 'label' => __( "Box Rain", "ml-slider" ) ),
|
1333 |
+
'boxRainReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Reverse", "ml-slider" ) ),
|
1334 |
+
'boxRainGrowReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Grow Reverse", "ml-slider" ) ),
|
1335 |
+
'slide' => array( 'class' => 'option flex', 'label' => __( "Slide", "ml-slider" ) )
|
1336 |
),
|
1337 |
),
|
1338 |
'theme' => array(
|
1339 |
'priority' => 40,
|
1340 |
'type' => 'theme',
|
1341 |
'value' => $this->slider->get_setting( 'theme' ),
|
1342 |
+
'label' => __( "Theme", "ml-slider" ),
|
1343 |
'class' => 'effect coin flex responsive nivo',
|
1344 |
+
'helptext' => __( "Slideshow theme", "ml-slider" ),
|
1345 |
'options' => array(
|
1346 |
+
'default' => array( 'class' => 'option nivo flex coin responsive' , 'label' => __( "Default", "ml-slider" ) ),
|
1347 |
+
'dark' => array( 'class' => 'option nivo', 'label' => __( "Dark (Nivo)", "ml-slider" ) ),
|
1348 |
+
'light' => array( 'class' => 'option nivo', 'label' => __( "Light (Nivo)", "ml-slider" ) ),
|
1349 |
+
'bar' => array( 'class' => 'option nivo', 'label' => __( "Bar (Nivo)", "ml-slider" ) ),
|
1350 |
),
|
1351 |
),
|
1352 |
'links' => array(
|
1353 |
'priority' => 50,
|
1354 |
'type' => 'checkbox',
|
1355 |
+
'label' => __( "Arrows", "ml-slider" ),
|
1356 |
'class' => 'option coin flex nivo responsive',
|
1357 |
'checked' => $this->slider->get_setting( 'links' ) == 'true' ? 'checked' : '',
|
1358 |
+
'helptext' => __( "Show the previous/next arrows", "ml-slider" )
|
1359 |
),
|
1360 |
'navigation' => array(
|
1361 |
'priority' => 60,
|
1362 |
'type' => 'navigation',
|
1363 |
+
'label' => __( "Navigation", "ml-slider" ),
|
1364 |
'class' => 'option coin flex nivo responsive',
|
1365 |
'value' => $this->slider->get_setting( 'navigation' ),
|
1366 |
+
'helptext' => __( "Show the slide navigation bullets", "ml-slider" ),
|
1367 |
'options' => array(
|
1368 |
+
'false' => array( 'label' => __( "Hidden", "ml-slider" ) ),
|
1369 |
+
'true' => array( 'label' => __( "Dots", "ml-slider" ) ),
|
1370 |
)
|
1371 |
),
|
1372 |
);
|
1377 |
'priority' => 5,
|
1378 |
'class' => 'option flex nivo responsive coin',
|
1379 |
'value' => get_the_title($this->slider->id),
|
1380 |
+
'label' => __( "Title", "ml-slider" ),
|
1381 |
+
'helptext' => __( "Slideshow title", "ml-slider" )
|
1382 |
);
|
1383 |
}
|
1384 |
|
1392 |
</div>
|
1393 |
|
1394 |
<div class="ms-postbox ms-toggle closed" id="metaslider_advanced_settings">
|
1395 |
+
<div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Advanced Settings", "ml-slider" ) ?></span></h3>
|
1396 |
<div class="inside">
|
1397 |
<table>
|
1398 |
<tbody>
|
1401 |
'fullWidth' => array(
|
1402 |
'priority' => 5,
|
1403 |
'type' => 'checkbox',
|
1404 |
+
'label' => __( "Stretch", "ml-slider" ),
|
1405 |
'class' => 'option flex nivo responsive',
|
1406 |
+
'after' => __( "100% wide output", "ml-slider" ),
|
1407 |
'checked' => $this->slider->get_setting( 'fullWidth' ) == 'true' ? 'checked' : '',
|
1408 |
+
'helptext' => __( "Stretch the slideshow output to fill it's parent container", "ml-slider" )
|
1409 |
),
|
1410 |
'center' => array(
|
1411 |
'priority' => 10,
|
1412 |
'type' => 'checkbox',
|
1413 |
+
'label' => __( "Center align", "ml-slider" ),
|
1414 |
'class' => 'option coin flex nivo responsive',
|
1415 |
'checked' => $this->slider->get_setting( 'center' ) == 'true' ? 'checked' : '',
|
1416 |
+
'helptext' => __( "Center align the slideshow", "ml-slider" )
|
1417 |
),
|
1418 |
'autoPlay' => array(
|
1419 |
'priority' => 20,
|
1420 |
'type' => 'checkbox',
|
1421 |
+
'label' => __( "Auto play", "ml-slider" ),
|
1422 |
'class' => 'option flex nivo responsive',
|
1423 |
'checked' => $this->slider->get_setting( 'autoPlay' ) == 'true' ? 'checked' : '',
|
1424 |
+
'helptext' => __( "Transition between slides automatically", "ml-slider" )
|
1425 |
),
|
1426 |
'smartCrop' => array(
|
1427 |
'priority' => 30,
|
1428 |
'type' => 'select',
|
1429 |
+
'label' => __( "Image Crop", "ml-slider" ),
|
1430 |
'class' => 'option coin flex nivo responsive',
|
1431 |
'value' => $this->slider->get_setting( 'smartCrop' ),
|
1432 |
'options' => array(
|
1433 |
+
'true' => array( 'label' => __( "Smart Crop", "ml-slider" ), 'class' => '' ),
|
1434 |
+
'false' => array( 'label' => __( "Standard", "ml-slider" ), 'class' => '' ),
|
1435 |
+
'disabled' => array( 'label' => __( "Disabled", "ml-slider" ), 'class' => '' ),
|
1436 |
+
'disabled_pad' => array( 'label' => __( "Disabled (Smart Pad)", "ml-slider" ), 'class' => 'option flex' ),
|
1437 |
),
|
1438 |
+
'helptext' => __( "Smart Crop ensures your responsive slides are cropped to a ratio that results in a consistent slideshow size", "ml-slider" )
|
1439 |
),
|
1440 |
'carouselMode' => array(
|
1441 |
'priority' => 40,
|
1442 |
'type' => 'checkbox',
|
1443 |
+
'label' => __( "Carousel mode", "ml-slider" ),
|
1444 |
'class' => 'option flex showNextWhenChecked',
|
1445 |
'checked' => $this->slider->get_setting( 'carouselMode' ) == 'true' ? 'checked' : '',
|
1446 |
+
'helptext' => __( "Display multiple slides at once. Slideshow output will be 100% wide.", "ml-slider" )
|
1447 |
),
|
1448 |
'carouselMargin' => array(
|
1449 |
'priority' => 45,
|
1451 |
'max' => 9999,
|
1452 |
'step' => 1,
|
1453 |
'type' => 'number',
|
1454 |
+
'label' => __( "Carousel margin", "ml-slider" ),
|
1455 |
'class' => 'option flex',
|
1456 |
'value' => $this->slider->get_setting( 'carouselMargin' ),
|
1457 |
+
'helptext' => __( "Pixel margin between slides in carousel.", "ml-slider" ),
|
1458 |
+
'after' => __( "px", "ml-slider" )
|
1459 |
),
|
1460 |
'random' => array(
|
1461 |
'priority' => 50,
|
1462 |
'type' => 'checkbox',
|
1463 |
+
'label' => __( "Random", "ml-slider" ),
|
1464 |
'class' => 'option coin flex nivo responsive',
|
1465 |
'checked' => $this->slider->get_setting( 'random' ) == 'true' ? 'checked' : '',
|
1466 |
+
'helptext' => __( "Randomise the order of the slides", "ml-slider" )
|
1467 |
),
|
1468 |
'hoverPause' => array(
|
1469 |
'priority' => 60,
|
1470 |
'type' => 'checkbox',
|
1471 |
+
'label' => __( "Hover pause", "ml-slider" ),
|
1472 |
'class' => 'option coin flex nivo responsive',
|
1473 |
'checked' => $this->slider->get_setting( 'hoverPause' ) == 'true' ? 'checked' : '',
|
1474 |
+
'helptext' => __( "Pause the slideshow when hovering over slider, then resume when no longer hovering.", "ml-slider" )
|
1475 |
),
|
1476 |
'reverse' => array(
|
1477 |
'priority' => 70,
|
1478 |
'type' => 'checkbox',
|
1479 |
+
'label' => __( "Reverse", "ml-slider" ),
|
1480 |
'class' => 'option flex',
|
1481 |
'checked' => $this->slider->get_setting( 'reverse' ) == 'true' ? 'checked' : '',
|
1482 |
+
'helptext' => __( "Reverse the animation direction", "ml-slider" )
|
1483 |
),
|
1484 |
'delay' => array(
|
1485 |
'priority' => 80,
|
1489 |
'max' => 10000,
|
1490 |
'step' => 100,
|
1491 |
'value' => $this->slider->get_setting( 'delay' ),
|
1492 |
+
'label' => __( "Slide delay", "ml-slider" ),
|
1493 |
'class' => 'option coin flex responsive nivo',
|
1494 |
+
'helptext' => __( "How long to display each slide, in milliseconds", "ml-slider" ),
|
1495 |
+
'after' => __( "ms", "ml-slider" )
|
1496 |
),
|
1497 |
'animationSpeed' => array(
|
1498 |
'priority' => 90,
|
1502 |
'max' => 2000,
|
1503 |
'step' => 100,
|
1504 |
'value' => $this->slider->get_setting( 'animationSpeed' ),
|
1505 |
+
'label' => __( "Animation speed", "ml-slider" ),
|
1506 |
'class' => 'option flex responsive nivo',
|
1507 |
+
'helptext' => __( "Set the speed of animations, in milliseconds", "ml-slider" ),
|
1508 |
+
'after' => __( "ms", "ml-slider" )
|
1509 |
),
|
1510 |
'slices' => array(
|
1511 |
'priority' => 100,
|
1515 |
'max' => 20,
|
1516 |
'step' => 1,
|
1517 |
'value' => $this->slider->get_setting( 'slices' ),
|
1518 |
+
'label' => __( "Number of slices", "ml-slider" ),
|
1519 |
'class' => 'option nivo',
|
1520 |
+
'helptext' => __( "Number of slices", "ml-slider" ),
|
1521 |
+
'after' => __( "ms", "ml-slider" )
|
1522 |
),
|
1523 |
'spw' => array(
|
1524 |
'priority' => 110,
|
1528 |
'max' => 20,
|
1529 |
'step' => 1,
|
1530 |
'value' => $this->slider->get_setting( 'spw' ),
|
1531 |
+
'label' => __( "Number of squares", "ml-slider" ) . " (" . __( "Width", "ml-slider" ) . ")",
|
1532 |
'class' => 'option nivo',
|
1533 |
+
'helptext' => __( "Number of squares", "ml-slider" ),
|
1534 |
'after' => ''
|
1535 |
),
|
1536 |
'sph' => array(
|
1541 |
'max' => 20,
|
1542 |
'step' => 1,
|
1543 |
'value' => $this->slider->get_setting( 'sph' ),
|
1544 |
+
'label' => __( "Number of squares", "ml-slider" ) . " (" . __( "Height", "ml-slider" ) . ")",
|
1545 |
'class' => 'option nivo',
|
1546 |
+
'helptext' => __( "Number of squares", "ml-slider" ),
|
1547 |
'after' => ''
|
1548 |
),
|
1549 |
'direction' => array(
|
1550 |
'priority' => 130,
|
1551 |
'type' => 'select',
|
1552 |
+
'label' => __( "Slide direction", "ml-slider" ),
|
1553 |
'class' => 'option flex',
|
1554 |
+
'helptext' => __( "Select the sliding direction", "ml-slider" ),
|
1555 |
'value' => $this->slider->get_setting( 'direction' ),
|
1556 |
'options' => array(
|
1557 |
+
'horizontal' => array( 'label' => __( "Horizontal", "ml-slider" ), 'class' => '' ),
|
1558 |
+
'vertical' => array( 'label' => __( "Vertical", "ml-slider" ), 'class' => '' ),
|
1559 |
)
|
1560 |
),
|
1561 |
'easing' => array(
|
1562 |
'priority' => 140,
|
1563 |
'type' => 'select',
|
1564 |
+
'label' => __( "Easing", "ml-slider" ),
|
1565 |
'class' => 'option flex',
|
1566 |
+
'helptext' => __( "Animation easing effect", "ml-slider" ),
|
1567 |
'value' => $this->slider->get_setting( 'easing' ),
|
1568 |
'options' => $this->get_easing_options()
|
1569 |
),
|
1570 |
'prevText' => array(
|
1571 |
'priority' => 150,
|
1572 |
'type' => 'text',
|
1573 |
+
'label' => __( "Previous text", "ml-slider" ),
|
1574 |
'class' => 'option coin flex responsive nivo',
|
1575 |
+
'helptext' => __( "Set the text for the 'previous' direction item", "ml-slider" ),
|
1576 |
'value' => $this->slider->get_setting( 'prevText' ) == 'false' ? '' : $this->slider->get_setting( 'prevText' )
|
1577 |
),
|
1578 |
'nextText' => array(
|
1579 |
'priority' => 160,
|
1580 |
'type' => 'text',
|
1581 |
+
'label' => __( "Next text", "ml-slider" ),
|
1582 |
'class' => 'option coin flex responsive nivo',
|
1583 |
+
'helptext' => __( "Set the text for the 'next' direction item", "ml-slider" ),
|
1584 |
'value' => $this->slider->get_setting( 'nextText' ) == 'false' ? '' : $this->slider->get_setting( 'nextText' )
|
1585 |
),
|
1586 |
'sDelay' => array(
|
1591 |
'max' => 500,
|
1592 |
'step' => 10,
|
1593 |
'value' => $this->slider->get_setting( 'sDelay' ),
|
1594 |
+
'label' => __( "Square delay", "ml-slider" ),
|
1595 |
'class' => 'option coin',
|
1596 |
+
'helptext' => __( "Delay between squares in ms", "ml-slider" ),
|
1597 |
+
'after' => __( "ms", "ml-slider" )
|
1598 |
),
|
1599 |
'opacity' => array(
|
1600 |
'priority' => 180,
|
1604 |
'max' => 1,
|
1605 |
'step' => 0.1,
|
1606 |
'value' => $this->slider->get_setting( 'opacity' ),
|
1607 |
+
'label' => __( "Opacity", "ml-slider" ),
|
1608 |
'class' => 'option coin',
|
1609 |
+
'helptext' => __( "Opacity of title and navigation", "ml-slider" ),
|
1610 |
'after' => ''
|
1611 |
),
|
1612 |
'titleSpeed' => array(
|
1617 |
'max' => 10000,
|
1618 |
'step' => 100,
|
1619 |
'value' => $this->slider->get_setting( 'titleSpeed' ),
|
1620 |
+
'label' => __( "Caption speed", "ml-slider" ),
|
1621 |
'class' => 'option coin',
|
1622 |
+
'helptext' => __( "Set the fade in speed of the caption", "ml-slider" ),
|
1623 |
+
'after' => __( "ms", "ml-slider" )
|
1624 |
),
|
1625 |
'developerOptions' => array(
|
1626 |
'priority' => 195,
|
1627 |
'type' => 'divider',
|
1628 |
'class' => 'option coin flex responsive nivo',
|
1629 |
+
'value' => __( "Developer options", "ml-slider" )
|
1630 |
),
|
1631 |
'cssClass' => array(
|
1632 |
'priority' => 200,
|
1633 |
'type' => 'text',
|
1634 |
+
'label' => __( "CSS classes", "ml-slider" ),
|
1635 |
'class' => 'option coin flex responsive nivo',
|
1636 |
+
'helptext' => __( "Specify any custom CSS Classes you would like to be added to the slider wrapper", "ml-slider" ),
|
1637 |
'value' => $this->slider->get_setting( 'cssClass' ) == 'false' ? '' : $this->slider->get_setting( 'cssClass' )
|
1638 |
),
|
1639 |
'printCss' => array(
|
1640 |
'priority' => 210,
|
1641 |
'type' => 'checkbox',
|
1642 |
+
'label' => __( "Print CSS", "ml-slider" ),
|
1643 |
'class' => 'option coin flex responsive nivo useWithCaution',
|
1644 |
'checked' => $this->slider->get_setting( 'printCss' ) == 'true' ? 'checked' : '',
|
1645 |
+
'helptext' => __( "Uncheck this is you would like to include your own CSS", "ml-slider" )
|
1646 |
),
|
1647 |
'printJs' => array(
|
1648 |
'priority' => 220,
|
1649 |
'type' => 'checkbox',
|
1650 |
+
'label' => __( "Print JS", "ml-slider" ),
|
1651 |
'class' => 'option coin flex responsive nivo useWithCaution',
|
1652 |
'checked' => $this->slider->get_setting( 'printJs' ) == 'true' ? 'checked' : '',
|
1653 |
+
'helptext' => __( "Uncheck this is you would like to include your own Javascript", "ml-slider" )
|
1654 |
),
|
1655 |
'noConflict' => array(
|
1656 |
'priority' => 230,
|
1657 |
'type' => 'checkbox',
|
1658 |
+
'label' => __( "No conflict mode", "ml-slider" ),
|
1659 |
'class' => 'option flex',
|
1660 |
'checked' => $this->slider->get_setting( 'noConflict' ) == 'true' ? 'checked' : '',
|
1661 |
+
'helptext' => __( "Delay adding the flexslider class to the slideshow", "ml-slider" )
|
1662 |
),
|
1663 |
);
|
1664 |
|
1672 |
</div>
|
1673 |
|
1674 |
<div class="ms-postbox shortcode ms-toggle" id="metaslider_usage">
|
1675 |
+
<div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Usage", "ml-slider" ) ?></span></h3>
|
1676 |
<div class="inside">
|
1677 |
<ul class='tabs'>
|
1678 |
+
<li rel='tab-1' class='selected'><?php _e( "Shortcode", "ml-slider" ) ?></li>
|
1679 |
+
<li rel='tab-2'><?php _e( "Template Include", "ml-slider" ) ?></li>
|
1680 |
</ul>
|
1681 |
<div class='tabs-content'>
|
1682 |
<div class='tab tab-1'>
|
1683 |
+
<p><?php _e( "Copy & paste the shortcode directly into any WordPress post or page.", "ml-slider" ); ?></p>
|
1684 |
<input readonly='readonly' type='text' value='[metaslider id=<?php echo $this->slider->id ?>]' /></div>
|
1685 |
<div class='tab tab-2' style='display: none'>
|
1686 |
+
<p><?php _e( "Copy & paste this code into a template file to include the slideshow within your theme.", "ml-slider" ); ?></p>
|
1687 |
<textarea readonly='readonly'><?php echo do_shortcode("[metaslider id=<?php echo $this->slider->id ?>]"); ?></textarea></div>
|
1688 |
</div>
|
1689 |
</div>
|
1719 |
|
1720 |
<?php $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slider&slider_id={$this->slider->id}" ), "metaslider_delete_slider" ); ?>
|
1721 |
|
1722 |
+
<a class='delete-slider alignright button-secondary' href='<?php echo $url ?>'><?php _e( "Delete Slider", "ml-slider" ) ?></a>
|
1723 |
</div>
|
1724 |
</div>
|
1725 |
</div>
|
1745 |
|
1746 |
if ( in_array( $pagenow, array( 'post.php', 'page.php', 'post-new.php', 'post-edit.php' ) ) ) {
|
1747 |
$context .= '<a href="#TB_inline?&inlineId=choose-meta-slider" class="thickbox button" title="' .
|
1748 |
+
__( "Select slideshow to insert into post", "ml-slider" ) .
|
1749 |
'"><span class="wp-media-buttons-icon" style="background: url(' . METASLIDER_ASSETS_URL .
|
1750 |
'/metaslider/matchalabs.png); background-repeat: no-repeat; background-position: left bottom;"></span> ' .
|
1751 |
+
__( "Add slider", "ml-slider" ) . '</a>';
|
1752 |
}
|
1753 |
|
1754 |
return $context;
|
1782 |
<div class="wrap">
|
1783 |
<?php
|
1784 |
if ( count( $sliders ) ) {
|
1785 |
+
echo "<h3 style='margin-bottom: 20px;'>" . __( "Insert Meta Slider", "ml-slider" ) . "</h3>";
|
1786 |
echo "<select id='metaslider-select'>";
|
1787 |
+
echo "<option disabled=disabled>" . __( "Choose slideshow", "ml-slider" ) . "</option>";
|
1788 |
foreach ( $sliders as $slider ) {
|
1789 |
echo "<option value='{$slider['id']}'>{$slider['title']}</option>";
|
1790 |
}
|
1791 |
echo "</select>";
|
1792 |
+
echo "<button class='button primary' id='insertMetaSlider'>" . __( "Insert slideshow", "ml-slider" ) . "</button>";
|
1793 |
} else {
|
1794 |
+
_e( "No slideshows found", "ml-slider" );
|
1795 |
}
|
1796 |
?>
|
1797 |
</div>
|
1808 |
public function upgrade_to_pro_link( $links ) {
|
1809 |
|
1810 |
if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
|
1811 |
+
$links[] = '<a href="http://www.metaslider.com/upgrade" target="_blank">' . __( "Go Pro", "ml-slider" ) . '</a>';
|
1812 |
}
|
1813 |
|
1814 |
return $links;
|
1832 |
|
1833 |
$link = apply_filters( 'metaslider_hoplink', $upgrade_link );
|
1834 |
|
1835 |
+
$text = "Meta Slider v" . METASLIDER_VERSION . " - " . __( 'Upgrade to Pro $19', "ml-slider" );
|
1836 |
|
1837 |
echo "<div style='display: none;' id='screen-options-link-wrap'><a target='_blank' class='show-settings dashicons-before dashicons-performance' href='{$link}'>{$text}</a></div>";
|
1838 |
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ 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 |
-
Stable tag: 3.3.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -147,6 +147,11 @@ See www.metaslider.com/documentation/image-cropping/
|
|
147 |
|
148 |
== Changelog ==
|
149 |
|
|
|
|
|
|
|
|
|
|
|
150 |
= 3.3.4.1 [29/07/15] =
|
151 |
|
152 |
* Fix Roots theme CSS conflict
|
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.3.1
|
7 |
+
Stable tag: 3.3.4.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
147 |
|
148 |
== Changelog ==
|
149 |
|
150 |
+
= 3.3.5 [11/09/15] =
|
151 |
+
|
152 |
+
* Prepare plugin for WordPress.org translation project (rename textdomain from 'metaslider' to 'ml-slider')
|
153 |
+
* Small styling fix
|
154 |
+
|
155 |
= 3.3.4.1 [29/07/15] =
|
156 |
|
157 |
* Fix Roots theme CSS conflict
|