{"id":357559,"date":"2026-08-29T09:43:48","date_gmt":"2026-08-29T09:43:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hype-discounts\/"},"modified":"2026-09-01T08:17:26","modified_gmt":"2026-09-01T08:17:26","slug":"hypemediasystem-sale-rules","status":"publish","type":"plugin","link":"https:\/\/ro.wordpress.org\/plugins\/hypemediasystem-sale-rules\/","author":23553275,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"hypemediasystem Sale Rules for WooCommerce","header_author":"Hype Media System","header_description":"WooCommerce sale pricing by category, brand, and schedule, with Excel\/CSV import and HPOS support.","assets_banners_color":"d7e4d3","last_updated":"2026-09-01 08:17:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/hypemediasystem-sale-rules\/","header_author_uri":"https:\/\/www.hype.ro","rating":0,"author_block_rating":0,"active_installs":0,"downloads":92,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"hypemediasystem","date":"2026-08-29 09:43:12","revision":3671321},"1.0.5":{"tag":"1.0.5","author":"hypemediasystem","date":"2026-08-29 10:09:25","revision":3671362},"1.0.6":{"tag":"1.0.6","author":"hypemediasystem","date":"2026-09-01 08:17:26","revision":3675615}},"upgrade_notice":{"1.0.6":"<p>WordPress.org listing now describes bulk sale-price campaigns, not generic discount rules.<\/p>","1.0.5":"<p>Loads translations from WordPress.org language packs.<\/p>","1.0.4":"<p>Apply-progress polling no longer accepts a client-supplied transient key.<\/p>","1.0.3":"<p>AJAX discount apply now requires a WooCommerce manager capability in addition to a nonce.<\/p>","1.0.2":"<p>Renamed for the WordPress.org directory. Re-activate after updating if the plugin folder name changed.<\/p>","1.0.1":"<p>Plugin URI and Author URI are now different, as required by WordPress.org.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3671360,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3671360,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3671360,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3671360,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3671360,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4","1.0.5","1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3675615,"resolution":"1","location":"assets","locale":"","width":2068,"height":1740},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3675615,"resolution":"2","location":"assets","locale":"","width":2068,"height":1766},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3675615,"resolution":"3","location":"assets","locale":"","width":2068,"height":1766},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3675615,"resolution":"4","location":"assets","locale":"","width":2068,"height":1740},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3675615,"resolution":"5","location":"assets","locale":"","width":1850,"height":1544},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3675615,"resolution":"6","location":"assets","locale":"","width":2068,"height":1740}},"screenshots":{"1":"Campaign rule list and bulk actions","2":"Add a scheduled sale-price rule","3":"Category and brand targeting, with product and tag exclusions","4":"Excel\/CSV import by SKU for regular or sale prices","5":"Product sale price before and after a campaign apply","6":"Admin batch progress while sale prices are applied"}},"plugin_section":[],"plugin_tags":[11143,21157,4394,140536,286],"plugin_category":[45],"plugin_contributors":[278171],"plugin_business_model":[],"class_list":["post-357559","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-edit","plugin_tags-csv-import","plugin_tags-pricing","plugin_tags-sale-price","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-hypemediasystem","plugin_committers-hypemediasystem"],"banners":{"banner":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/banner-772x250.png?rev=3671360","banner_2x":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/banner-1544x500.png?rev=3671360","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/icon.svg?rev=3671360","icon":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/icon.svg?rev=3671360","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-1.png?rev=3675615","caption":"Campaign rule list and bulk actions"},{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-2.png?rev=3675615","caption":"Add a scheduled sale-price rule"},{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-3.png?rev=3675615","caption":"Category and brand targeting, with product and tag exclusions"},{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-4.png?rev=3675615","caption":"Excel\/CSV import by SKU for regular or sale prices"},{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-5.png?rev=3675615","caption":"Product sale price before and after a campaign apply"},{"src":"https:\/\/ps.w.org\/hypemediasystem-sale-rules\/assets\/screenshot-6.png?rev=3675615","caption":"Admin batch progress while sale prices are applied"}],"raw_content":"<!--section=description-->\n<p>Managing WooCommerce sale prices manually is slow and risky when you have many products. hypemediasystem Sale Rules lets store owners create scheduled discount campaigns, import sale prices by SKU, and clean up managed discounts safely.<\/p>\n\n<p>This is for catalogs that change prices on tens, hundreds, or thousands of products. It is not a coupon plugin and not a checkout-only promotion tool.<\/p>\n\n<h4>Best for<\/h4>\n\n<ul>\n<li>Fashion and apparel drops<\/li>\n<li>Electronics catalogs<\/li>\n<li>Seasonal campaigns<\/li>\n<li>Black Friday and Cyber Monday<\/li>\n<li>Clearance and end-of-season sales<\/li>\n<\/ul>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Writes percentage or fixed sale prices onto matching WooCommerce products<\/li>\n<li>Targets product categories and brands<\/li>\n<li>Excludes individual products or tags<\/li>\n<li>Schedules campaign start and end dates<\/li>\n<li>Imports regular prices and sale prices from Excel or CSV by SKU<\/li>\n<li>Applies rules in batches, with an admin progress screen<\/li>\n<li>Marks plugin-managed sale prices with its own metadata<\/li>\n<li>Cleans up ineligible or expired prices the plugin applied<\/li>\n<li>Syncs an optional sale category<\/li>\n<li>Provides WP-CLI commands for apply, cleanup, and repair<\/li>\n<li>Works with High-Performance Order Storage (HPOS)<\/li>\n<\/ul>\n\n<p>WooCommerce must be installed and active.<\/p>\n\n<h4>What it does not do<\/h4>\n\n<ul>\n<li>It does not create WooCommerce coupons<\/li>\n<li>It does not apply a discount only in the cart or at checkout<\/li>\n<li>It does not replace a full B2B or dynamic pricing engine<\/li>\n<li>It does not silently overwrite unrelated sale prices you set by hand<\/li>\n<\/ul>\n\n<h4>Safe workflow<\/h4>\n\n<ol>\n<li>Test on staging first, with a catalog similar to production.<\/li>\n<li>Create a campaign rule or import sale prices by SKU.<\/li>\n<li>Apply in batches from the admin screen or WP-CLI.<\/li>\n<li>The plugin writes <code>_sale_price<\/code> through the WooCommerce product API and stores metadata on products it manages.<\/li>\n<li>When a campaign ends or a product is no longer eligible, run cleanup so only plugin-managed sale prices are removed.<\/li>\n<\/ol>\n\n<h4>WP-CLI examples<\/h4>\n\n<p>Apply every active campaign, or one rule:<\/p>\n\n<pre><code>wp hypemediasystem-sale-rules apply\nwp hypemediasystem-sale-rules apply --discount-id=5\n<\/code><\/pre>\n\n<p>Preview or remove plugin-managed sale prices:<\/p>\n\n<pre><code>wp hypemediasystem-sale-rules cleanup --dry-run\nwp hypemediasystem-sale-rules cleanup --all\n<\/code><\/pre>\n\n<p>Repair products that have an active schedule but the wrong sale price:<\/p>\n\n<pre><code>wp hypemediasystem-sale-rules repair_all --batch=100\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>hypemediasystem-sale-rules<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Open WooCommerce \u2192 Product Discounts.<\/li>\n<li>Create a campaign rule and click Apply Discounts Now, or import a SKU file.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20woocommerce%20coupons%3F\"><h3>Does this replace WooCommerce coupons?<\/h3><\/dt>\n<dd><p>No. Coupons stay in WooCommerce. This plugin writes sale prices on matching products so large catalogs can run campaigns without a coupon code.<\/p><\/dd>\n<dt id=\"will%20it%20overwrite%20prices%20i%20set%20by%20hand%3F\"><h3>Will it overwrite prices I set by hand?<\/h3><\/dt>\n<dd><p>The plugin marks products it manages with its own metadata and skips unrelated manual sales where possible. Always test on staging first.<\/p><\/dd>\n<dt id=\"what%20excel%20columns%20are%20required%3F\"><h3>What Excel columns are required?<\/h3><\/dt>\n<dd><p>For regular prices: <code>SKU<\/code> and <code>regular_price<\/code> (or <code>pret<\/code>). For sale prices: <code>SKU<\/code> and <code>sale_price<\/code> (or <code>pret_redus<\/code>).<\/p><\/dd>\n<dt id=\"who%20should%20not%20use%20this%3F\"><h3>Who should not use this?<\/h3><\/dt>\n<dd><p>Stores that only need a simple coupon or a one-product sale. Use WooCommerce core for that.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Reposition the WordPress.org listing as a bulk sale-price manager for large catalogs.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Load the plugin text domain so translate.wordpress.org language packs apply.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Ignore request-supplied apply-progress keys and only read or write the current user's plugin transient.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Require a nonce and manage_woocommerce capability before applying a single discount over AJAX.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Directory submission: distinctive display name and slug, enqueued admin assets, and WooCommerce plugin URL lookup.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Set Author URI to https:\/\/www.hype.ro and omit Plugin URI so the two headers are not identical.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Bulk sale price manager for WooCommerce stores with many SKUs, Excel imports, and scheduled campaign rules.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357559"}],"author":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hypemediasystem"}],"wp:attachment":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357559"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357559"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357559"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357559"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357559"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}