Slide Anything – Responsive Content / HTML Slider and Carousel - Version 2.3.5

Version Description

  • Added the 'Re-Order Slides' sub-page, which allows one to easily change the order of slides within a Slide Anything slider with a 'drag-and-drop' interface

=

Download this release

Release Info

Developer simonpedge
Plugin Icon 128x128 Slide Anything – Responsive Content / HTML Slider and Carousel
Version 2.3.5
Comparing to
See all releases

Code changes from version 2.3.4 to 2.3.5

css/slide-anything-admin.css CHANGED
@@ -1507,3 +1507,197 @@ input.sa_slide_popup_imagetitle:-ms-input-placeholder { color:#c0c0c0 !important
1507
  #sa_settings_page_wrapper > form > table tr td { padding:0px 0px 10px 0px; }
1508
  #sa_settings_page_wrapper #sa_settings_page_message { margin:20px 0px 0px 0px; font-size:16px; line-height:22px; }
1509
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1507
  #sa_settings_page_wrapper > form > table tr td { padding:0px 0px 10px 0px; }
1508
  #sa_settings_page_wrapper #sa_settings_page_message { margin:20px 0px 0px 0px; font-size:16px; line-height:22px; }
1509
  }
1510
+
1511
+
1512
+
1513
+ /* ##### THE 'RE-ORDER SLIDES' SUB-PAGE IN THE WORDPRESS DASHBOARD ##### */
1514
+ #sa_reorder_slides {
1515
+ padding-right:20px !important;
1516
+ }
1517
+ #sa_reorder_slides > h1 {
1518
+ margin:0px !important;
1519
+ padding:20px 0px !important;
1520
+ font-weight:700 !important;
1521
+ font-size:24px !important;
1522
+ line-height:30px !important;
1523
+ color:#000000 !important;
1524
+ }
1525
+ /* FORM CONTAINING SA SLIDER SELECT DROPDOWN */
1526
+ #sa_reorder_slides #sar_slider_form p {
1527
+ margin:0px !important;
1528
+ padding:0px 0px 10px !important;
1529
+ font-weight:400 !important;
1530
+ font-size:16px !important;
1531
+ line-height:24px !important;
1532
+ color:#808080 !important;
1533
+ }
1534
+ #sa_reorder_slides #sar_slider_form div {
1535
+ font-weight:400 !important;
1536
+ font-size:18px !important;
1537
+ line-height:24px !important;
1538
+ color:#808080 !important;
1539
+ font-style:italic !important;
1540
+ }
1541
+ #sa_reorder_slides #sar_slider_form div select {
1542
+ margin:5px 0px 25px !important;
1543
+ padding:0px 8px !important;
1544
+ min-width:300px !important;
1545
+ font-size:18px !important;
1546
+ line-height:42px !important;
1547
+ height:42px !important;
1548
+ color:#000000 !important;
1549
+ outline-color:transparent !important;
1550
+ box-shadow:none !important;
1551
+ border:solid 1px #e0e0e0 !important;
1552
+ border-radius:5px !important;
1553
+ }
1554
+ #sa_reorder_slides input[type=submit] {
1555
+ padding:12px 18px !important;
1556
+ font-weight:400 !important;
1557
+ font-size:16px !important;
1558
+ line-height:16px !important;
1559
+ background-color:#00519c !important;
1560
+ color:#ffffff !important;
1561
+ border-style:none !important;
1562
+ border-radius:5px !important;
1563
+ outline-color:transparent !important;
1564
+ box-shadow:none !important;
1565
+ cursor:pointer !important;
1566
+ transition:all 0.3s ease-in-out;
1567
+ -webkit-transition:all 0.3s ease-in-out;
1568
+ -moz-transition:all 0.3s ease-in-out;
1569
+ -o-transition:all 0.3s ease-in-out;
1570
+ }
1571
+ #sa_reorder_slides input[type=submit]:hover {
1572
+ background-color:#000000 !important;
1573
+ }
1574
+ #sa_reorder_slides #sar_no_sliders_found {
1575
+ margin:0px !important;
1576
+ padding:10px 0px !important;
1577
+ font-weight:700 !important;
1578
+ font-size:20px !important;
1579
+ line-height:26px !important;
1580
+ color:crimson !important;
1581
+ }
1582
+ /* SORTABLE LIST OF SLIDES */
1583
+ #sa_reorder_slides #sar_success_message {
1584
+ display:inline-block !important;
1585
+ margin:0px 0px 15px !important;
1586
+ padding:10px 15px !important;
1587
+ font-weight:700 !important;
1588
+ font-size:16px !important;
1589
+ line-height:16px !important;
1590
+ background-color:#228b22 !important;
1591
+ color:#ffffff !important;
1592
+ border-radius:5px !important;
1593
+ }
1594
+ #sa_reorder_slides #sar_slider_title {
1595
+ margin:0px !important;
1596
+ padding:0px 0px 10px !important;
1597
+ font-weight:700 !important;
1598
+ font-size:20px !important;
1599
+ line-height:26px !important;
1600
+ color:#000000 !important;
1601
+ }
1602
+ #sa_reorder_slides #sar_drag_message {
1603
+ margin:0px !important;
1604
+ padding:0px 0px 10px !important;
1605
+ font-weight:400 !important;
1606
+ font-size:18px !important;
1607
+ line-height:24px !important;
1608
+ color:crimson !important;
1609
+ font-style:italic !important;
1610
+ }
1611
+ #sa_reorder_slides #sar_sortable {
1612
+ list-style-type:none !important;
1613
+ margin:0px !important;
1614
+ padding:0px !important;
1615
+ width:100% !important;
1616
+ box-sizing:border-box !important;
1617
+ }
1618
+ #sa_reorder_slides #sar_sortable li {
1619
+ width:100% !important;
1620
+ clear:both !important;
1621
+ margin:0px 0px 5px !important;
1622
+ padding:10px !important;
1623
+ background-color:#f8f8f8 !important;
1624
+ border:solid 1px #e0e0e0 !important;
1625
+ border-radius:5px !important;
1626
+ box-sizing:border-box !important;
1627
+ transition:all 0.3s ease-in-out;
1628
+ -webkit-transition:all 0.3s ease-in-out;
1629
+ -moz-transition:all 0.3s ease-in-out;
1630
+ -o-transition:all 0.3s ease-in-out;
1631
+ }
1632
+ #sa_reorder_slides #sar_sortable li.ui-state-highlight {
1633
+ height:140px !important;
1634
+ padding:10px !important;
1635
+ border:solid 1px #e0e0e0 !important;
1636
+ background-color:#ffffe0 !important;
1637
+ box-sizing:border-box !important;
1638
+ opacity:1.0 !important;
1639
+ }
1640
+ #sa_reorder_slides #sar_sortable li:hover {
1641
+ cursor:pointer !important;
1642
+ opacity:0.7 !important;
1643
+ }
1644
+ #sa_reorder_slides #sar_sortable li.ui-sortable-helper {
1645
+ cursor: move;
1646
+ }
1647
+ #sa_reorder_slides #sar_sortable li .sar_image {
1648
+ float:left !important;
1649
+ width:120px !important;
1650
+ height:120px !important;
1651
+ margin-right:10px !important;
1652
+ background-color:#f0f0f0 !important;
1653
+ background-position:center !important;
1654
+ background-size:cover !important;
1655
+ background-repeat:no-repeat !important;
1656
+ }
1657
+ #sa_reorder_slides #sar_sortable li .sar_content .sar_slide_num {
1658
+ margin:0px !important;
1659
+ padding:2px 0px 6px !important;
1660
+ font-weight:700 !important;
1661
+ font-size:16px !important;
1662
+ line-height:16px !important;
1663
+ color:#000000 !important;
1664
+ }
1665
+ #sa_reorder_slides #sar_sortable li .sar_content .sar_slide_html {
1666
+ height:96px !important;
1667
+ padding:8px !important;
1668
+ font-weight:400 !important;
1669
+ font-size:14px !important;
1670
+ line-height:20px !important;
1671
+ background-color:#ffffff !important;
1672
+ color:#808080 !important;
1673
+ box-sizing:border-box !important;
1674
+ overflow-y:auto !important;
1675
+ }
1676
+ #sa_reorder_slides #sar_no_slides_found {
1677
+ margin:0px !important;
1678
+ padding:10px 0px 30px !important;
1679
+ font-weight:700 !important;
1680
+ font-size:20px !important;
1681
+ line-height:26px !important;
1682
+ color:crimson !important;
1683
+ }
1684
+ #sa_reorder_slides .sar_back_button {
1685
+ display:inline-block;
1686
+ padding:8px 12px !important;
1687
+ font-weight:400 !important;
1688
+ font-size:14px !important;
1689
+ line-height:14px !important;
1690
+ text-decoration:none !important;
1691
+ background-color:#a0a0a0 !important;
1692
+ color:#ffffff !important;
1693
+ border-radius:5px !important;
1694
+ outline-color:transparent !important;
1695
+ box-shadow:none !important;
1696
+ transition:all 0.3s ease-in-out;
1697
+ -webkit-transition:all 0.3s ease-in-out;
1698
+ -moz-transition:all 0.3s ease-in-out;
1699
+ -o-transition:all 0.3s ease-in-out;
1700
+ }
1701
+ #sa_reorder_slides .sar_back_button:hover {
1702
+ background-color:#000000 !important;
1703
+ }
images/bg_placeholder.png ADDED
Binary file
js/slide-anything-admin.js CHANGED
@@ -669,6 +669,19 @@ jQuery(function() {
669
  document.getElementById('sa_thumbs_resp_mobile').value = '50'; // not a valid number
670
  }
671
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
672
  })
673
 
674
 
669
  document.getElementById('sa_thumbs_resp_mobile').value = '50'; // not a valid number
670
  }
671
  });
672
+
673
+ // ##### JQUERY-UI SORTABLE - RE-ORDER SLIDES SUB-PAGE #####
674
+ jQuery("#sar_sortable").sortable({
675
+ placeholder: 'ui-state-highlight',
676
+ cursor: 'move',
677
+ opacity: 0.7,
678
+ update: function(event, ui) {
679
+ var slide_order = jQuery(this).sortable('toArray').toString();
680
+ slide_order = slide_order.replace(/sar/g, "");
681
+ document.getElementById('sar_sort_order').value = slide_order;
682
+ }
683
+ });
684
+ jQuery("#sar_sortable" ).disableSelection();
685
  })
686
 
687
 
php/slide-anything-admin.php CHANGED
@@ -2624,4 +2624,177 @@ function duplicate_sa_slider_post_link($actions, $post) {
2624
  return $actions;
2625
  }
2626
  add_filter('post_row_actions', 'duplicate_sa_slider_post_link', 10, 2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2627
  ?>
2624
  return $actions;
2625
  }
2626
  add_filter('post_row_actions', 'duplicate_sa_slider_post_link', 10, 2);
2627
+
2628
+
2629
+
2630
+ // ###################################################################################
2631
+ // ### FUNCTION DISPLAYS THE 'RE-ORDER SLIDES' SUB-PAGE IN THE WORDPRESS DASHBOARD ###
2632
+ // ###################################################################################
2633
+ function extra_sa_menu_pages() {
2634
+ add_submenu_page(
2635
+ 'edit.php?post_type=sa_slider',
2636
+ __('Re-Order Slides', 'menu-sa-order'),
2637
+ __('Re-Order Slides', 'menu-sa-order'),
2638
+ 'manage_options',
2639
+ 'reorderslides',
2640
+ 'sa_reorder_slides_page'
2641
+ );
2642
+ }
2643
+
2644
+ function sa_reorder_slides_page() {
2645
+ $page_url = get_admin_url()."edit.php?post_type=sa_slider&page=reorderslides";
2646
+ $placeholder_image = get_site_url()."/wp-content/plugins/slide-anything/images/bg_placeholder.png";
2647
+
2648
+ echo "<div id='sa_reorder_slides'>\n";
2649
+ echo "<h1>Slide Anything - Re-Order Slides</h1>";
2650
+
2651
+ if (isset($_POST['sar_slider_id']) && ($_POST['sar_slider_id'] != '')) {
2652
+ // ##### A POST VARIABLE FOR 'SLIDER ID' HAS BEEN PASSED #####
2653
+ $slider_id = $_POST['sar_slider_id'];
2654
+ $slider_title = get_the_title($slider_id);
2655
+
2656
+ if (isset($_POST['sar_sort_order']) && ($_POST['sar_sort_order'] != '')) {
2657
+ // CHANGE THE ORDER OF SLIDE DATA FOR THE SLIDER AND RE-SAVE METADATA
2658
+ $sort_order = $_POST['sar_sort_order'];
2659
+ $data_in_arr = array();
2660
+ $data_out_arr = array();
2661
+
2662
+ // 1) SAVE SLIDES METADATA TO AN 'IN' ARRAY (ONLY SLIDES MEATDATA AND NO SETTINGS DATA SAVED!)
2663
+ $metadata = get_metadata('post', $slider_id);
2664
+ $num_slides = $metadata['sa_num_slides'][0];
2665
+ foreach ($metadata as $key => $value_arr) {
2666
+ $value = $value_arr[0];
2667
+ for ($i = 1; $i <= $num_slides; $i++) {
2668
+ $key_prefix = "sa_slide".$i;
2669
+ if (strpos($key, $key_prefix) === 0) {
2670
+ // metadata key starts with the key prefix ('sa_slide??')
2671
+ $data_in_arr[$key] = $value;
2672
+ }
2673
+ }
2674
+ }
2675
+
2676
+ // 2) CREATE THE NEW SLIDES 'OUT' ARRAY (WITH THE NEW SLIDE ORDER)
2677
+ $sort_order_arr = explode(",", $sort_order);
2678
+ for ($i = 0; $i < count($sort_order_arr); $i++) {
2679
+ $loop_prefix = "sa_slide".($i+1); // ascending loop order (1, 2, 3...)
2680
+ $order_prefix = "sa_slide".$sort_order_arr[$i]; // slide number to be stored in this slot
2681
+ foreach ($data_in_arr as $key => $value) {
2682
+ if (strpos($key, $order_prefix) === 0) {
2683
+ // metakey key value starts with the order prefix
2684
+ $new_key = str_replace($order_prefix, $loop_prefix, $key);
2685
+ $data_out_arr[$new_key] = $value;
2686
+ }
2687
+ }
2688
+ }
2689
+
2690
+ // 3) LOOP THROUGH SLIDES 'OUT' ARRAY UPDATING POST METADATA
2691
+ foreach ($data_out_arr as $key => $value) {
2692
+ update_post_meta($slider_id, $key, $value);
2693
+ }
2694
+
2695
+ echo "<h3 id='sar_success_message'>SLIDE ORDER HAS BEEN UPDATED</h3>";
2696
+ }
2697
+
2698
+ // GET REQUIRED SLIDER METADATA AND SAVE WITHIN AN ARRAY
2699
+ $num_slides = 0;
2700
+ $slide_arr = array();
2701
+ $metadata = get_metadata('post', $slider_id);
2702
+ if (count($metadata) > 0) {
2703
+ $num_slides = $metadata['sa_num_slides'][0];
2704
+ }
2705
+ if ($num_slides != 0) {
2706
+ // SLIDER CONTAINS SLIDES - DISPLAY SORTABLE LIST OF SLIDES
2707
+ for ($i = 1; $i <= $num_slides; $i++) {
2708
+ $image_data = $metadata["sa_slide".$i."_image_data"][0];
2709
+ $image_data_arr = explode("~", $image_data);
2710
+ $slide_arr[$i]['image_id'] = $image_data_arr[0];
2711
+ $slide_arr[$i]['content'] = $metadata["sa_slide".$i."_content"][0];
2712
+ // cater for popup images used as the slide background
2713
+ $popup_type = $metadata["sa_slide".$i."_popup_type"][0];
2714
+ $popup_background = $metadata["sa_slide".$i."_popup_background"][0];
2715
+ if ($popup_type == 'IMAGE') {
2716
+ if (($popup_background != '') && ($popup_background != 'no')) {
2717
+ $slide_arr[$i]['image_id'] = $metadata["sa_slide".$i."_popup_imageid"][0];
2718
+ }
2719
+ }
2720
+ }
2721
+
2722
+ // DISPLAY THE SORTABLE GRID OF SLIDES
2723
+ echo "<h2 id='sar_slider_title'>".$slider_title."</h2>\n";
2724
+ echo "<h3 id='sar_drag_message'>Drag slides to re-order...</h3>\n";
2725
+ echo "<ul id='sar_sortable'>\n";
2726
+ for ($i = 1; $i <= $num_slides; $i++) {
2727
+ $bg_image = $placeholder_image;
2728
+ $slide_image_src = wp_get_attachment_image_src($slide_arr[$i]['image_id'], 'thumbnail');
2729
+ if (!empty($slide_image_src[0])) {
2730
+ $bg_image = $slide_image_src[0];
2731
+ }
2732
+ echo "<li id='sar".$i."' class='ui-state-default'>\n";
2733
+ echo "<div class='sar_image' style='background-image:url(\"".$bg_image."\");'></div>\n";
2734
+ echo "<div class='sar_content'>\n";
2735
+ echo "<h4 class='sar_slide_num'>SLIDE ".$i."</h4>\n";
2736
+ echo "<div class='sar_slide_html'>".nl2br(htmlentities($slide_arr[$i]['content']))."</div>\n";
2737
+ echo "</div>";
2738
+ echo "</li>\n";
2739
+ }
2740
+ echo "</ul>\n"; #sar_sortable
2741
+
2742
+ // DISPLAY THE HTML FORM CONTAINING THE SORT ORDER INPUT ELEMENT
2743
+ echo "<form method='post' id='sar_order_form'>\n";
2744
+ echo "<input type='hidden' name='sar_slider_id' value='".$slider_id."'/>";
2745
+ echo "<input type='hidden' id='sar_sort_order' name='sar_sort_order'/>";
2746
+ echo "<input type='submit' value='UPDATE SLIDER'/>";
2747
+ echo "</form>\n";
2748
+
2749
+ } else {
2750
+ // SLIDER CONTAINS NO SLIDES - DISPLAY MESSAGE
2751
+ echo "<h3 id='sar_no_slides_found'>This slider contains NO slides!</h3>\n";
2752
+ echo "<a class='sar_back_button' href='".$page_url."'>BACK</a>";
2753
+ }
2754
+
2755
+ } else {
2756
+ // ##### NO POST VARIABLE FOR 'SLIDER ID' HAS BEEN PASSED #####
2757
+ // WP QUERY TO GET ARRAY OF SA SLIDERS (ID & TITLE) THAT EXIST
2758
+ $slider_arr = array();
2759
+ $count = 0;
2760
+ $args = array(
2761
+ 'post_type' => 'sa_slider',
2762
+ 'post_status' => array('publish','draft'),
2763
+ 'orderby' => 'menu_order',
2764
+ 'order' => 'ASC',
2765
+ 'posts_per_page' => -1,
2766
+ );
2767
+ $sliders = new WP_Query($args);
2768
+ if ($sliders->have_posts()) {
2769
+ while ($sliders->have_posts() ) {
2770
+ $sliders->the_post();
2771
+ $slider_arr[$count]['id'] = get_the_ID();
2772
+ $slider_arr[$count]['title'] = get_the_title();
2773
+ $count++;
2774
+ }
2775
+ }
2776
+ wp_reset_postdata();
2777
+
2778
+ if (count($slider_arr) > 0) {
2779
+ // DISPLAY FORM CONTAINING SA SLIDER SELECT DROPDOWN
2780
+ echo "<form method='post' id='sar_slider_form'>\n";
2781
+ echo "<p>This tool allows you to change the order of slides within a Slide Anything slider.</p>\n";
2782
+ echo "<p>Select the slider you would like to re-order, then just drag-and-drop slides for your new slide order.</p>\n";
2783
+ echo "<div style='padding-top:10px;'>Select Slider to Re-Order:<br/>";
2784
+ echo "<select id='sar_slider_id' name='sar_slider_id'>\n";
2785
+ for ($i = 0; $i < count($slider_arr); $i++) {
2786
+ echo "<h4>|".$slider_arr[$i]['id']."|".$slider_arr[$i]['title']."|</h4>";
2787
+ echo "<option value='".$slider_arr[$i]['id']."'>".$slider_arr[$i]['title']." (#".$slider_arr[$i]['id'].")</option>\n";
2788
+ }
2789
+ echo "<select></div>\n";
2790
+ echo "<div><input type='submit' value='Re-Order Slider'/></div>\n";
2791
+ echo "</form>\n";
2792
+ } else {
2793
+ // NO SA SLIDERS FOUND - DISPLAY MESSAGE
2794
+ echo "<h3 id='sar_no_sliders_found'>No Slide Anything sliders found!</h3>\n";
2795
+ }
2796
+ }
2797
+
2798
+ echo "</div>\n"; #sa_reorder_slides
2799
+ }
2800
  ?>
readme.txt CHANGED
@@ -23,6 +23,7 @@ Slide Anything provides many Owl Carousel 2 features, which include:
23
  * Infinite Looping - introduced with Owl Carousel 2, this feature means that the first slide is now seamlessly displayed after the last slide without any carousel rewind.
24
  * New Transition Effects - New Owl Carousel transitions include Slide, Fade, Zoom In, Zoom Out, Flip Out X/Y, Rotate Left/Right, Bounce Out, Roll Out and Slide Down.
25
  * Slide Link Feature - A feature which allows you to create a hover-over link button for any slide within your carousels.
 
26
 
27
  [Usage Examples](https://edgewebpages.com/slide-anything-usage-examples)
28
 
@@ -307,6 +308,9 @@ Adding a SLIDE ANYTHING slider using the WordPress 5.0 'Block Editor' is pretty
307
  = 2.3.4 =
308
  * Added a 'Duplicate Slider' facility so that sliders created can be duplicated or backed-up
309
 
 
 
 
310
  == Upgrade Notice ==
311
 
312
  = 1.0 =
@@ -516,4 +520,7 @@ Adding a SLIDE ANYTHING slider using the WordPress 5.0 'Block Editor' is pretty
516
  * Added Slide Any Post promotional meta box & fixed a couple backend aesthetic issues
517
 
518
  = 2.3.4 =
519
- * Added a 'Duplicate Slider' facility so that sliders created can be duplicated or backed-up
 
 
 
23
  * Infinite Looping - introduced with Owl Carousel 2, this feature means that the first slide is now seamlessly displayed after the last slide without any carousel rewind.
24
  * New Transition Effects - New Owl Carousel transitions include Slide, Fade, Zoom In, Zoom Out, Flip Out X/Y, Rotate Left/Right, Bounce Out, Roll Out and Slide Down.
25
  * Slide Link Feature - A feature which allows you to create a hover-over link button for any slide within your carousels.
26
+ * Re-Order Slides Facility - Now you can use a 'drag-and-drop' interface to easily re-order your slides within the sliders you create.
27
 
28
  [Usage Examples](https://edgewebpages.com/slide-anything-usage-examples)
29
 
308
  = 2.3.4 =
309
  * Added a 'Duplicate Slider' facility so that sliders created can be duplicated or backed-up
310
 
311
+ = 2.3.5 =
312
+ * Added the 'Re-Order Slides' sub-page, which allows one to easily change the order of slides within a Slide Anything slider with a 'drag-and-drop' interface
313
+
314
  == Upgrade Notice ==
315
 
316
  = 1.0 =
520
  * Added Slide Any Post promotional meta box & fixed a couple backend aesthetic issues
521
 
522
  = 2.3.4 =
523
+ * Added a 'Duplicate Slider' facility so that sliders created can be duplicated or backed-up
524
+
525
+ = 2.3.5 =
526
+ * Added the 'Re-Order Slides' sub-page, which allows one to easily change the order of slides within a Slide Anything slider with a 'drag-and-drop' interface
slide-anything.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: https://wordpress.org/plugins/slide-anything/
5
  * Description: Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
6
  * Author: Simon Edge
7
- * Version: 2.3.4
8
  * License: GPLv2 or later
9
  */
10
 
@@ -29,6 +29,7 @@ add_filter('manage_sa_slider_posts_columns', 'cpt_slider_modify_columns');
29
  add_filter('manage_sa_slider_posts_custom_column', 'cpt_slider_custom_column_content');
30
  add_action('admin_head', 'add_tinymce_button');
31
  add_action('admin_footer', 'get_tinymce_shortcode_array', 9999999);
 
32
 
33
  // SLIDE ANYTHING 2.0 UPGRADE NOTICE
34
  add_action('admin_notices', 'version_20_upgrade_notice');
4
  * Plugin URI: https://wordpress.org/plugins/slide-anything/
5
  * Description: Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
6
  * Author: Simon Edge
7
+ * Version: 2.3.5
8
  * License: GPLv2 or later
9
  */
10
 
29
  add_filter('manage_sa_slider_posts_custom_column', 'cpt_slider_custom_column_content');
30
  add_action('admin_head', 'add_tinymce_button');
31
  add_action('admin_footer', 'get_tinymce_shortcode_array', 9999999);
32
+ add_action('admin_menu', 'extra_sa_menu_pages');
33
 
34
  // SLIDE ANYTHING 2.0 UPGRADE NOTICE
35
  add_action('admin_notices', 'version_20_upgrade_notice');