{"id":226049,"date":"2025-04-18T10:22:26","date_gmt":"2025-04-18T10:22:26","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/product-expiration-easy-peasy\/"},"modified":"2025-05-04T14:17:29","modified_gmt":"2025-05-04T14:17:29","slug":"product-expiration-easy-peasy","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/product-expiration-easy-peasy\/","author":23259956,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.1.1","stable_tag":"3.1.1","tested":"6.8.5","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Product Expiration Easy Peasy","header_author":"Hamid Arab","header_description":"Manage product expiration dates in WooCommerce","assets_banners_color":"018dfe","last_updated":"2025-05-04 14:17:29","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/zarinp.al\/689844","header_plugin_uri":"https:\/\/hamidarab.ir\/product-expiration","header_author_uri":"https:\/\/hamidarab.ir","rating":5,"author_block_rating":0,"active_installs":0,"downloads":609,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"hamidarab","date":"2025-04-19 11:51:10"},"3.1.0":{"tag":"3.1.0","author":"hamidarab","date":"2025-04-29 13:12:05"},"3.1.1":{"tag":"3.1.1","author":"hamidarab","date":"2025-05-04 14:17:29"}},"upgrade_notice":{"2.10.0":"<ul>\n<li>This update improves the display of expiration dates and adds support for the Persian calendar.<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3276767,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3276767,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3276767,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.0","3.1.0","3.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3276685,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3276685,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3276685,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3276685,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3276685,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3276685,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings page with expiration configuration options.","2":"Expiration date field in WooCommerce product edit screen.","3":"Expiration date column in the products list.","4":"Expiration date displayed on the product page (frontend).","5":"Quick Edit feature showing the expiration field.","6":"Sample email notification for expiring products."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1946,1260,746,12448,286],"plugin_category":[45],"plugin_contributors":[241016],"plugin_business_model":[],"class_list":["post-226049","plugin","type-plugin","status-publish","hentry","plugin_tags-expiration","plugin_tags-persian","plugin_tags-product","plugin_tags-stock","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-hamidarab","plugin_committers-hamidarab"],"banners":{"banner":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/banner-772x250.png?rev=3276767","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/icon-128x128.png?rev=3276767","icon_2x":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/icon-256x256.png?rev=3276767","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-1.png?rev=3276685","caption":"Plugin settings page with expiration configuration options."},{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-2.png?rev=3276685","caption":"Expiration date field in WooCommerce product edit screen."},{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-3.png?rev=3276685","caption":"Expiration date column in the products list."},{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-4.png?rev=3276685","caption":"Expiration date displayed on the product page (frontend)."},{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-5.png?rev=3276685","caption":"Quick Edit feature showing the expiration field."},{"src":"https:\/\/ps.w.org\/product-expiration-easy-peasy\/assets\/screenshot-6.png?rev=3276685","caption":"Sample email notification for expiring products."}],"raw_content":"<!--section=description-->\n<p>Persian WC Product Expiration allows store owners to set expiration dates for products and automatically update stock status when they are near expiration.<\/p>\n\n<p><strong>Features:<\/strong>\n- \u2705 Add an expiration date to products via the product edit page or Quick Edit.\n- \u2705 Display the expiration date on the product page.\n- \u2705 Automatically set products to \"Out of Stock\" two months before expiration.\n- \u2705 Send email notifications to administrators and shop managers.\n- \u2705 Full support for the Persian calendar when <code>jdate()<\/code> is available.\n- \u2705 Compatible with WooCommerce.<\/p>\n\n<p>\ud83d\uddd3\ufe0f <strong>Persian Calendar Support<\/strong><br \/>\nIf the <code>jdate()<\/code> function is available (e.g., by using the WP-Parsidate plugin), the expiration dates will be displayed using the Persian (Jalali) calendar. Otherwise, it will default to the Gregorian calendar.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Edit a product and set the expiration date under <strong>Product Data \u2192 General<\/strong>.<\/li>\n<li>(Optional) Use Quick Edit in the product list to modify the expiration date quickly.<\/li>\n<\/ol>\n\n<p>\ud83d\uddd3\ufe0f <strong>To enable Persian date format:<\/strong><br \/>\nInstall and activate a plugin that provides the <code>jdate()<\/code> function, such as <a href=\"https:\/\/wordpress.org\/plugins\/wp-parsidate\/\">WP-Parsidate<\/a>. The expiration date will then be shown in the Persian (Jalali) calendar format.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20plugin%20work%20with%20variable%20products%3F'><h3>Does this plugin work with variable products?<\/h3><\/dt>\n<dd><p>Yes, expiration dates can be set for individual variations.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20expiration%20date%20format%3F'><h3>Can I customize the expiration date format?<\/h3><\/dt>\n<dd><p>Yes, you can choose from different formats (Y\/m\/d, Y\/m, Ym, etc.).<\/p><\/dd>\n<dt id='is%20the%20persian%20calendar%20supported%3F'><h3>Is the Persian calendar supported?<\/h3><\/dt>\n<dd><p>Yes! If the <code>jdate()<\/code> function is available (e.g., via WP-Parsidate), expiration dates will automatically appear in the Persian calendar format. Otherwise, they will use the default Gregorian format.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.1<\/h4>\n\n<ul>\n<li>Fixed: Expiration date for variations was not saving properly due to missing nonce in variation form.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Added: Smart handling of expiration dates for variable products.<\/li>\n<li>Improved: Hide expiration field in Quick Edit for variable products.<\/li>\n<li>Improved: Display expiration date based on first variation in product list.<\/li>\n<li>Enhanced: Better Persian calendar (Jalali) support and usage instructions.<\/li>\n<li>Fixed: Expiration date field formatting and validation issues.<\/li>\n<li>Optimized: Script and style loading only when necessary.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Fixed: Optimized query to get expired products for better performance.<\/li>\n<\/ul>\n\n<h4>2.10.0<\/h4>\n\n<ul>\n<li>Added: Configurable date format options (Y\/m\/d, Y\/m, Ym, etc.).<\/li>\n<li>Added: Custom styling for expiration dates with <code>expiration-date<\/code> class.<\/li>\n<li>Fixed: Persian language translation issues.<\/li>\n<li>Added: Support for Persian calendar when <code>jdate<\/code> is available.<\/li>\n<li>Improved: Expiration date styling in product pages, cart, and order emails.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Improved: Enhanced variation details in expiration notification emails.<\/li>\n<li>Optimized: Combined query for simple and variable products.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: Products without expiration dates being incorrectly marked as out of stock.<\/li>\n<li>Added: Additional validation for expiration date format.<\/li>\n<\/ul>","raw_excerpt":"Manage product expiration with Persian calendar support. Auto mark products as &quot;Out of Stock&quot; before expiry.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/226049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=226049"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hamidarab"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=226049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=226049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=226049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=226049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=226049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=226049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}