⚡ NEW: Changeset/ - Full Gallery 2025

Changeset 3284835


Ignore:
Timestamp:
04/30/2025 11:13:44 AM (8 months ago)
Author:
vishalmori
Message:

release 2.0.0.

Location:
multiple-sale-scheduler-for-woocommerce/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • multiple-sale-scheduler-for-woocommerce/trunk/README.md

    r3233663 r3284835  
    1 # multiple-sale-scheduler
     1# Multiple Sale Scheduler for WooCommerce
     2
     3Effortlessly schedule multiple sales for your WooCommerce products, ensuring timely discounts and seamless promotions.
     4
     5# Description
     6
     7Effortlessly schedule and manage multiple sales for your WooCommerce products—both single and grouped. Plan sales periods in advance to boost customer engagement and drive conversions with well-timed promotions.
     8
     9Default WooCommerce sale functionality is in priority. If product is already on sale then
     10Multiple sale scheduler will not override it.
     11
     12# Why Use Multiple Sale Scheduler?
     13
     14Manually managing multiple sales can be time-consuming and prone to errors. Multiple Sale Scheduler simplifies the process by automating sales scheduling, ensuring they start and stop on time. Focus on growing your business while the plugin handles your promotions.
     15
     16# Features
     17
     18Schedule multiple sales for WooCommerce products.
     19
     20Works seamlessly with the REST API, ideal for headless WooCommerce setups.
     21
     22Set start and end dates for each sale.
     23
     24Automatically apply sale prices during the scheduled period.
     25
     26Easy-to-use interface within WooCommerce product settings.
     27
     28Compatible with the latest WooCommerce and WordPress versions.
     29
     30# Installation
     31
     32From the WordPress admin panel, navigate to **Plugins > Add New**. Search for "Multiple Sale Scheduler for WooCommerce," then install and activate it.
     33
     34Alternatively, upload the plugin files to the /wp-content/plugins/ directory and activate the plugin via the **Plugins** screen.
     35
     36Activate the plugin through the 'Plugins' screen in WordPress.
     37
     38Navigate to the product edit page in WooCommerce to start scheduling sales.
     39
     40In general product data tab you can see new field if product type is simple or grouped.
     41
     42# Frequently Asked Questions
     43
     44Q 1): Is Multiple Sale Scheduler free?
     45
     46A: Yes, the plugin is licensed under GPL-2.0 and is free to use and modify.
     47
     48Q 2): Does this plugin support variable products?
     49
     50A: No, this plugin curently supports only simple and grouped products.
     51
     52Q 3): Can I use this plugin for headless WooCommerce?
     53
     54A: Yes, this plugin is fully compatible with the WooCommerce REST API, making it ideal for headless setups.
     55
     56Q 4): Does the plugin work with custom product types?
     57
     58A: The plugin supports standard WooCommerce product types. For custom types, additional compatibility may be needed.
     59
     60Q 5) My valid sale isn't working.
     61
     62A: If your valid sale is not working and you have made changes to the timezone settings, you need to set all sales again, including the WooCommerce default sale. If this does not work, please ask in [the support forum](https://wordpress.org/support/plugin/multiple-sale-scheduler-for-woocommerce/) OR [GitHub Q&A](https://github.com/morivishal/multiple-sale-scheduler/discussions/categories/q-a).
     63
     64# Note
     65 - The default WooCommerce sale scheduler cannot be overridden in the following scenarios:
     66    1. When a sale price is set, but the start and end dates are not specified.
     67    2. When a sale price is set, and the start date, end date, or the entire date range includes the current date.
    268
    369# Developer Note
     
    773
    874 - In contrast, wc_get_product_ids_on_sale() only retrieves product IDs set on sale via the default WooCommerce sale functionality.
     75
     76Changelog
     77
     782.0.0
     79
     80Major change in file structure.
     81 - Removed entaire autoloader and its vendor folder, composer.json, composer.lock.
     82 - Moved wrapper.php in new helpers folder.
     83 - Introduce new autoload.php to load classes in mss plugin.
     84 - Changed class file name PSR-4 autoloading standard to WordPress coding standards.
     85
     86 * Fix -Fix date conflict in msswc_display_scheduled_sale_prices().
     87 * Enhancement - msswc_get_product_ids_on_sale() no longer uses wc_get_product_ids_on_sale().
     88 * Enhancement - msswc_save_scheduled_sales() now executes only when the post type product is created/saved.
     89 * Update - Added validation to check if the regular price is set or not.
     90
     91License
     92
     93Multiple Sale Scheduler for WooCommerce is licensed under the GNU General Public License v2.0 or later. See LICENSE for more details.
  • multiple-sale-scheduler-for-woocommerce/trunk/assets/js/sale-scheduler.js

    r3233663 r3284835  
    11jQuery(document).ready(($) => {
    2   const regularPrice = parseFloat($("#_regular_price").val());
    32  const scheduleContainer = $("#schedule_container");
    43  const addScheduleButton = $("#add-schedule");
     
    2827    startDateField.datepicker({
    2928      dateFormat: "yy-mm-dd",
    30       onSelect: function (selectedDate) { ;
     29      onSelect: function (selectedDate) {
    3130        endDateField.datepicker("option", "minDate", selectedDate);
    3231      }
    3332    });
    34     endDateField.datepicker({ 
     33    endDateField.datepicker({
    3534      dateFormat: "yy-mm-dd",
    36       onSelect: function (selectedDate) { 
     35      onSelect: function (selectedDate) {
    3736        startDateField.datepicker("option", "maxDate", selectedDate);
    3837      }
     
    4645    scheduleContainer.append(clone);
    4746    toggleRemoveButtons();
    48    
     47
    4948    $(".start-date, .end-date").removeClass("hasDatepicker");
    5049    $(".start-date, .end-date").attr("id", "");