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 | 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 +194 -0
- images/bg_placeholder.png +0 -0
- js/slide-anything-admin.js +13 -0
- php/slide-anything-admin.php +173 -0
- readme.txt +8 -1
- slide-anything.php +2 -1
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.
|
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');
|