{"id":261072,"date":"2026-02-28T18:04:19","date_gmt":"2026-02-28T18:04:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/warranty-cart\/"},"modified":"2026-08-05T08:55:20","modified_gmt":"2026-08-05T08:55:20","slug":"warranty-cart","status":"publish","type":"plugin","link":"https:\/\/de-ch.wordpress.org\/plugins\/warranty-cart\/","author":20002658,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"6.8.6","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Warranty Cart","header_author":"Al Amin Ahamed","header_description":"Advanced WooCommerce warranty management plugin with shortcode display, bundle selection, external payment integrations, and comprehensive admin tools for seamless warranty sales.","assets_banners_color":"3c559b","last_updated":"2026-08-05 08:55:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/mralaminahamed\/warranty-cart","header_author_uri":"https:\/\/alaminahamed.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":504,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mralaminahamed","date":"2026-02-28 18:04:08"},"1.0.1":{"tag":"1.0.1","author":"mralaminahamed","date":"2026-04-22 05:38:15"},"1.0.2":{"tag":"1.0.2","author":"mralaminahamed","date":"2026-08-05 03:58:18"},"2.0.0":{"tag":"2.0.0","author":"mralaminahamed","date":"2026-08-05 08:55:20"}},"upgrade_notice":{"2.0.0":"<p>Renewal history, a page per policy in My Account, plan images, CSV export from every list, and a rewritten certificate. Fixes the Reports figures and the empty Orders table. No database migration is needed beyond the one the plugin applies itself on first load.= 1.0.0 =\nInitial release - no upgrade notices.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3633683,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3633683,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3633683,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512},"icon.svg":{"filename":"icon.svg","revision":3633683,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1024x512.png":{"filename":"banner-1024x512.png","revision":3635076,"resolution":"1024x512","location":"assets","locale":"","width":1024,"height":512},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3635076,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3635076,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3635078,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=warranty-cart\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"6.8\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"}},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"warranty-cart\"}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Warranty Cart Demo\",\"blogdescription\":\"Experience advanced WooCommerce warranty management with comprehensive admin tools and seamless customer experience\",\"admin_email\":\"demo@example.com\",\"start_of_week\":\"1\",\"use_balanceTags\":\"0\",\"use_smilies\":\"1\",\"require_name_email\":\"1\",\"comments_notify\":\"1\",\"posts_per_rss\":\"10\",\"rss_use_excerpt\":\"0\",\"permalink_structure\":\"\\\/%postname%\\\/\",\"uploads_use_yearmonth_folders\":\"1\",\"show_avatars\":\"1\",\"avatar_default\":\"mystery\",\"avatar_rating\":\"G\",\"enable_app_passwords\":\"1\",\"WPLANG\":\"\"}},{\"step\":\"defineWpConfigConsts\",\"consts\":{\"WP_DEBUG\":true,\"WP_DEBUG_LOG\":true,\"WP_DEBUG_DISPLAY\":false,\"SCRIPT_DEBUG\":true,\"WP_MEMORY_LIMIT\":\"512M\"}},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/\\\/ Create demo user with appropriate capabilities\\n$user_id = wp_create_user('demo', 'demo123', 'demo@example.com');\\nif (!is_wp_error($user_id)) {\\n    $user = new WP_User($user_id);\\n    $user->set_role('administrator');\\n    wp_update_user([\\n        'ID' => $user_id,\\n        'first_name' => 'Demo',\\n        'last_name' => 'User',\\n        'display_name' => 'Demo User',\\n        'description' => 'Demo user for Warranty Cart testing'\\n    ]);\\n}\\n\\n\\\/\\\/ Configure Warranty Cart settings\\nif (defined('WARRANTY_CART_VERSION')) {\\n    update_option('warranty_cart_enable_pdf_certificates', '1');\\n    update_option('warranty_cart_enable_email_notifications', '1');\\n    update_option('warranty_cart_default_duration', '1');\\n    update_option('warranty_cart_default_unit', 'years');\\n}\\n\\necho 'User and settings configured!';\"},{\"step\":\"installTheme\",\"themeZipFile\":{\"resource\":\"wordpress.org\\\/themes\",\"slug\":\"twentytwentyfour\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/\\\/ Create sample pages for WooCommerce warranty demo\\n$pages = [\\n    'shop' => [\\n        'title' => 'Shop',\\n        'content' => 'Welcome to our demo store! Browse our products and experience warranty management in action.',\\n        'slug' => 'shop'\\n    ],\\n    'cart' => [\\n        'title' => 'Cart',\\n        'content' => 'Your shopping cart - add warranty options to your products here!',\\n        'slug' => 'cart'\\n    ],\\n    'checkout' => [\\n        'title' => 'Checkout',\\n        'content' => 'Complete your purchase and see warranty options during checkout.',\\n        'slug' => 'checkout'\\n    ],\\n    'my-account' => [\\n        'title' => 'My Account',\\n        'content' => 'Manage your account and view your warranty certificates.',\\n        'slug' => 'my-account'\\n    ],\\n    'warranty-info' => [\\n        'title' => 'Warranty Information',\\n        'content' => '<h2>Our Warranty Promise<\\\/h2><p>We stand behind our products with comprehensive warranty coverage. Choose from our flexible warranty options during checkout.<\\\/p><h3>Key Features:<\\\/h3><ul><li>Flexible warranty durations<\\\/li><li>PDF certificates<\\\/li><li>Email notifications<\\\/li><li>Easy claims process<\\\/li><\\\/ul>',\\n        'slug' => 'warranty-info'\\n    ]\\n];\\n\\nforeach ($pages as $key => $page) {\\n    $existing_page = get_page_by_path($page['slug']);\\n    if (!$existing_page) {\\n        wp_insert_post([\\n            'post_title' => $page['title'],\\n            'post_content' => $page['content'],\\n            'post_status' => 'publish',\\n            'post_type' => 'page',\\n            'post_name' => $page['slug']\\n        ]);\\n    }\\n}\\n\\necho 'Demo pages created successfully!';\"},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/\\\/ Create some basic product categories and attributes for warranty demonstration\\nif (function_exists('wp_insert_term') && taxonomy_exists('product_cat')) {\\n    \\\/\\\/ Product categories perfect for warranty demos\\n    $categories = [\\n        'Electronics' => 'High-tech gadgets and devices with warranty protection',\\n        'Appliances' => 'Home appliances with extended warranty options',\\n        'Tools & Hardware' => 'Professional tools with comprehensive coverage',\\n        'Sports Equipment' => 'Athletic gear and equipment warranties',\\n        'Jewelry & Watches' => 'Luxury items with specialized warranty programs'\\n    ];\\n    \\n    foreach ($categories as $name => $description) {\\n        $existing = term_exists($name, 'product_cat');\\n        if (!$existing) {\\n            $term = wp_insert_term($name, 'product_cat', [\\n                'description' => $description,\\n                'slug' => sanitize_title($name)\\n            ]);\\n        }\\n    }\\n    \\n    \\\/\\\/ Product tags\\n    $tags = ['Warranty Included', 'Extended Coverage', 'Premium Support', 'Certified', 'Protected'];\\n    foreach ($tags as $tag) {\\n        $existing = term_exists($tag, 'product_tag');\\n        if (!$existing) {\\n            wp_insert_term($tag, 'product_tag', [\\n                'slug' => sanitize_title($tag)\\n            ]);\\n        }\\n    }\\n}\\n\\necho 'Warranty-focused product taxonomies created!';\"},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/\\\/ Add welcome notice and helpful tips\\nupdate_option('warranty_cart_demo_notice', [\\n    'type' => 'info',\\n    'message' => 'Welcome to Warranty Cart Demo! This environment is pre-configured with WooCommerce and Warranty Cart plugin.',\\n    'dismissible' => true\\n]);\\n\\n\\\/\\\/ Set up demo-friendly admin settings\\nupdate_option('show_on_front', 'posts');\\nupdate_option('posts_per_page', 10);\\nupdate_option('default_comment_status', 'open');\\nupdate_option('default_ping_status', 'open');\\n\\n\\\/\\\/ Create a sample menu\\n$menu_id = wp_create_nav_menu('Main Menu');\\nif (!is_wp_error($menu_id) && $menu_id) {\\n    $pages = ['shop', 'cart', 'checkout', 'my-account', 'warranty-info'];\\n    $menu_order = 1;\\n    \\n    foreach ($pages as $page_slug) {\\n        $page = get_page_by_path($page_slug);\\n        if ($page) {\\n            wp_update_nav_menu_item($menu_id, 0, [\\n                'menu-item-title' => $page->post_title,\\n                'menu-item-object' => 'page',\\n                'menu-item-object-id' => $page->ID,\\n                'menu-item-type' => 'post_type',\\n                'menu-item-status' => 'publish',\\n                'menu-item-position' => $menu_order++\\n            ]);\\n        }\\n    }\\n    \\n    $locations = get_theme_mod('nav_menu_locations', []);\\n    $locations['primary'] = $menu_id;\\n    set_theme_mod('nav_menu_locations', $locations);\\n}\\n\\necho 'Demo setup complete!';\"}],\"meta\":{\"title\":\"Warranty Cart - Advanced WooCommerce Warranty Management\",\"description\":\"Experience the comprehensive Warranty Cart plugin for advanced WooCommerce warranty management. Features include PDF certificates, automated email notifications, flexible warranty options, custom checkout fields, comprehensive admin tools with modern React interface, HPOS compatibility, and seamless integration with payment gateways like PayPal and Stripe.\",\"author\":\"Al Amin Ahamed\",\"categories\":[\"ecommerce\",\"warranty\",\"woocommerce\",\"customer-service\",\"business-tools\",\"wordpress-playground\"],\"difficulty\":\"intermediate\"}}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3635071,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3635071,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3635071,"resolution":"3","location":"assets","locale":"","width":1200,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3635071,"resolution":"4","location":"assets","locale":"","width":1200,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3635071,"resolution":"5","location":"assets","locale":"","width":1200,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3635071,"resolution":"6","location":"assets","locale":"","width":1200,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3635071,"resolution":"7","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Warranty products on the storefront - the [warranty_cart] shortcode, main warranties beside their optional services","2":"Bundle selection - choosing a warranty and a service, with the total updating as you go","3":"Checkout - warranties carried through WooCommerce checkout alongside the rest of the cart","4":"My account - what the customer owns afterwards: their cover, its expiry, and buttons to claim against it or renew it","5":"Admin dashboard - sales, orders and warranty totals, monthly trend and recent activity","6":"Warranty records - every policy sold, with customer, product, status and expiry","7":"One policy in full - what it covers, the term, what was paid, and every renewal it has been through"}},"plugin_section":[],"plugin_tags":[28191,28190,28189,274502,286],"plugin_category":[45],"plugin_contributors":[221130],"plugin_business_model":[],"class_list":["post-261072","plugin","type-plugin","status-publish","hentry","plugin_tags-extended-warranty","plugin_tags-protection-plan","plugin_tags-warranty","plugin_tags-warranty-claims","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mralaminahamed","plugin_committers-mralaminahamed"],"banners":{"banner":"https:\/\/ps.w.org\/warranty-cart\/assets\/banner-772x250.png?rev=3635076","banner_2x":"https:\/\/ps.w.org\/warranty-cart\/assets\/banner-1544x500.png?rev=3635076","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/warranty-cart\/assets\/icon.svg?rev=3633683","icon":"https:\/\/ps.w.org\/warranty-cart\/assets\/icon.svg?rev=3633683","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-1.png?rev=3635071","caption":"Warranty products on the storefront - the [warranty_cart] shortcode, main warranties beside their optional services"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-2.png?rev=3635071","caption":"Bundle selection - choosing a warranty and a service, with the total updating as you go"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-3.png?rev=3635071","caption":"Checkout - warranties carried through WooCommerce checkout alongside the rest of the cart"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-4.png?rev=3635071","caption":"My account - what the customer owns afterwards: their cover, its expiry, and buttons to claim against it or renew it"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-5.png?rev=3635071","caption":"Admin dashboard - sales, orders and warranty totals, monthly trend and recent activity"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-6.png?rev=3635071","caption":"Warranty records - every policy sold, with customer, product, status and expiry"},{"src":"https:\/\/ps.w.org\/warranty-cart\/assets\/screenshot-7.png?rev=3635071","caption":"One policy in full - what it covers, the term, what was paid, and every renewal it has been through"}],"raw_content":"<!--section=description-->\n<p>Warranty Cart is a complete WooCommerce warranty plugin. Sell extended warranties, protection plans and service contracts on the product page where your customer is already deciding \u2014 then manage the warranty claims, renewals and expiry reminders that follow, which is where most warranty plugins stop.<\/p>\n\n<p>No warranty management system to integrate, no per-gateway setup, and no monthly fee.<\/p>\n\n<p><strong>Selling cover<\/strong>\n- <strong>Beside the product<\/strong>: offer a warranty on the product page, where the customer is already deciding. Choose which products each warranty covers \u2014 everything, chosen categories, or named products.\n- <strong>A page of its own<\/strong>: the <code>[warranty_cart]<\/code> shortcode, in a grid or a list, for stores that would rather sell cover separately.\n- <strong>Bundles<\/strong>: a main warranty with optional add-on services, priced together as the customer chooses.\n- <strong>Fixed or percentage pricing<\/strong>: charge a flat fee, or a percentage of whatever the warranty covers \u2014 with a floor and ceiling so a percentage of a very cheap or very expensive item stays sensible.\n- <strong>Any payment gateway<\/strong>: warranties are created when an order completes, which WooCommerce does whatever took the payment \u2014 card, PayPal, bank transfer, cash on delivery.<\/p>\n\n<p><strong>After the sale<\/strong>\n- <strong>A warranties tab in My Account<\/strong>: every policy a customer owns, with its order, expiry and status \u2014 and a page per policy showing what it covers, the terms, what was paid, and every renewal it has been through.\n- <strong>Claims<\/strong>: customers file against active cover from their account; you work through them on a dedicated admin screen, and every status change emails them.\n- <strong>Renewals<\/strong>: a Renew button appears as cover approaches expiry, and for a configurable grace period afterwards. Renewing goes through the cart, so it is a real order and you get paid for it. Renewing early keeps the time already paid for rather than restarting the clock.\n- <strong>Renewal history<\/strong>: every extension recorded \u2014 when it happened, how far the term moved, what it cost and which order paid for it. Visible to you on the record, and to the customer on theirs.\n- <strong>Reminders and expiry notices<\/strong>: sent automatically, on a schedule you set.\n- <strong>PDF certificates<\/strong>: what is covered, the term, when cover begins and ends, and the coverage terms \u2014 issued in your shop's name, and attached to the confirmation email.<\/p>\n\n<p><strong>Running the shop<\/strong>\n- <strong>Admin dashboard<\/strong>: sales, orders and warranty totals, a twelve-month trend, and recent activity.\n- <strong>Warranty records<\/strong>: every policy sold, filterable by status, customer and product.\n- <strong>CSV import and export<\/strong>: set up a catalogue in bulk, and export any list \u2014 warranties, records, claims, orders, reports \u2014 as a spreadsheet that opens correctly, filters and all.\n- <strong>Plan images<\/strong>: give each warranty a picture from your media library, shown wherever the plan is offered.\n- <strong>Custom checkout fields<\/strong>: ask for whatever a warranty needs \u2014 a serial number, an install date.\n- <strong>HPOS compatible<\/strong>: works with WooCommerce High Performance Order Storage.<\/p>\n\n<p><strong>Requirements:<\/strong>\n- WordPress 6.0+\n- WooCommerce 8.0+\n- PHP 7.4+\n- MySQL 5.6+<\/p>\n\n<h3>More from us<\/h3>\n\n<p>Other free plugins from the same author, on WordPress.org.<\/p>\n\n<p>For a WooCommerce store:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/storeseeder\/\">StoreSeeder<\/a> - realistic test data for WooCommerce and Fluent Cart. Products, customers, orders and coupons in seconds, with one-click cleanup.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/storesheet\/\">StoreSheet<\/a> - sync WooCommerce products, orders and coupons to a Google spreadsheet, automatically and one-way.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/easycommerce-fakerpress\/\">EasyCommerce FakerPress<\/a> - the same idea for an EasyCommerce store, with a live preview before you generate.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/alamin-vendor-tasks-dokan-clickup\/\">Vendor Tasks for Dokan &amp; ClickUp<\/a> - automate Dokan vendor management through ClickUp.<\/li>\n<\/ul>\n\n<p>For any site:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/swift-menu-duplicator\/\">Swift Menu Duplicator<\/a> - duplicate menus in one click, snapshot revisions, export and import, WP-CLI and REST.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/author-profile-blocks\/\">Author Profile Blocks<\/a> - author and team profiles as Gutenberg blocks: grid, carousel, list and single.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/alamin-donation-router\/\">Donation Router for GiveWP &amp; PayPal<\/a> - route GiveWP donations to different PayPal Business accounts by donor country.<\/li>\n<\/ul>\n\n<p>For the WordPress AI Client:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/alamin-ai-provider-for-opencode-zen\/\">AI Provider for OpenCode Zen<\/a> - one API key, 57 models including GPT-5, Claude and Gemini 3.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/alamin-ai-provider-for-minimax\/\">AI Provider for MiniMax<\/a> - MiniMax M2 and M3 models for text generation.<\/li>\n<\/ul>\n\n<p>They are listed under <strong>Warranty Cart -&gt; Our plugins<\/strong> too, which reads the directory directly and shows which ones this site already has.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/warranty-cart<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Install and activate WooCommerce (8.0+) if not already installed.<\/li>\n<li>Use the <code>[warranty_cart]<\/code> shortcode to display warranty products on any page.<\/li>\n<li>Access the warranty management dashboard at the top-level <strong>Warranty Cart<\/strong> menu in the WordPress admin sidebar.<\/li>\n<li>Set up warranty products via the Warranty tab on each WooCommerce product, then configure email templates and checkout fields under Settings.<\/li>\n<\/ol>\n\n<p><strong>Admin Interface:<\/strong>\n- <strong>Dashboard<\/strong>: warranty sales, orders, a twelve-month trend and recent activity\n- <strong>Warranties<\/strong>: your warranty products, their terms, and which products each one covers\n- <strong>Records<\/strong>: every policy sold, filterable by status, customer and product\n- <strong>Claims<\/strong>: claims customers have filed, with status and your reply\n- <strong>Orders<\/strong>: warranty orders and customer details\n- <strong>Reports<\/strong>: sales performance over time\n- <strong>Settings<\/strong>: where cover is offered, claims, renewals, emails, checkout fields\n- <strong>Tools<\/strong>: CSV import, diagnostics and maintenance<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20set%20up%20my%20first%20warranty%20product%3F\"><h3>How do I set up my first warranty product?<\/h3><\/dt>\n<dd><ol>\n<li>Open <strong>Products \u2192 Add New<\/strong> (a regular WooCommerce product).<\/li>\n<li>Give it a title, description and price. Tick <strong>Virtual<\/strong> so the order completes automatically.<\/li>\n<li>Click the <strong>Warranty<\/strong> tab in the Product data box.<\/li>\n<li>Set <strong>Status: Enabled<\/strong>, <strong>Type: Main warranty<\/strong>, <strong>Duration: 1<\/strong>, <strong>Duration unit: years<\/strong>, and fill in <strong>Coverage details<\/strong>.<\/li>\n<li>Under <strong>Offer alongside<\/strong>, choose which products this cover is sold with \u2014 any product, chosen categories, or named products.<\/li>\n<li>Publish. The warranty now appears on the product page of everything it covers.<\/li>\n<li>Optionally create <strong>Additional service<\/strong> products the same way (set <strong>Type: Additional service<\/strong> and pick the main warranty under <strong>Associated warranty<\/strong>), and drop <code>[warranty_cart]<\/code> on a page to sell cover separately as well.<\/li>\n<\/ol><\/dd>\n<dt id=\"how%20do%20i%20offer%20a%20warranty%20on%20the%20product%20page%3F\"><h3>How do I offer a warranty on the product page?<\/h3><\/dt>\n<dd><p>Open the warranty product, go to the <strong>Warranty<\/strong> tab, and set <strong>Offer alongside<\/strong>:<\/p>\n\n<ul>\n<li><strong>Any product<\/strong> \u2014 the cover appears under Add to cart on everything in the shop.<\/li>\n<li><strong>Products in chosen categories<\/strong> \u2014 and in any category beneath them, so a rule on \"Appliances\" covers \"Appliances \u2192 Kitchen\".<\/li>\n<li><strong>Chosen products only<\/strong> \u2014 naming a variable product covers all of its variations.<\/li>\n<\/ul>\n\n<p>Under <strong>Warranty Cart \u2192 Settings \u2192 Storefront<\/strong> you can show the offer on the product page, in the cart, in both, or nowhere. Product page only is the default.<\/p><\/dd>\n<dt id=\"can%20i%20price%20a%20warranty%20as%20a%20percentage%20of%20the%20product%3F\"><h3>Can I price a warranty as a percentage of the product?<\/h3><\/dt>\n<dd><p>Yes. On the warranty product, set <strong>Price<\/strong> to <em>Percentage of the covered product<\/em> and enter the percentage \u2014 10%, say. Optional <strong>Minimum<\/strong> and <strong>Maximum<\/strong> keep it sensible at both ends: 10% of a \u00a340 kettle is not worth administering, and 10% of a \u00a35,000 television asks for more than anybody will pay.<\/p>\n\n<p>A fixed price works for a catalogue where everything costs about the same, and breaks immediately where it does not \u2014 \u00a329 of cover is most of the value of a \u00a340 item and a rounding error on a \u00a32,000 one.<\/p>\n\n<p>The price is worked out against the product being covered at the moment cover is added to the cart, and held there: if you reprice the product afterwards, a customer's existing cart keeps the figure they were quoted. Rounding follows your store's own currency settings.<\/p>\n\n<p>On the <code>[warranty_cart]<\/code> selector page there is no product to take a percentage of, so the warranty's own price is shown, with a note saying what the rule is.<\/p><\/dd>\n<dt id=\"can%20customers%20file%20a%20warranty%20claim%3F\"><h3>Can customers file a warranty claim?<\/h3><\/dt>\n<dd><p>Yes. Customers see their cover under <strong>My Account \u2192 Warranties<\/strong> and can file a claim against anything still active, describing what has gone wrong. Claims arrive on the <strong>Claims<\/strong> screen in the admin, where you move them through Pending, In progress, Approved, Rejected and Resolved \u2014 and the customer is emailed at every change, with whatever note you wrote.<\/p><\/dd>\n<dt id=\"can%20customers%20renew%20a%20warranty%20before%20it%20expires%3F\"><h3>Can customers renew a warranty before it expires?<\/h3><\/dt>\n<dd><p>Yes. A <strong>Renew<\/strong> button appears on their account page as cover approaches expiry, and for a grace period afterwards; both windows are settings, 30 days each by default. The expiry reminder email links straight to it.<\/p>\n\n<p>Renewing goes through the cart, so it produces a real order and you are paid for it. Renewing early adds the new term to the time already left rather than restarting the clock \u2014 a customer with two months remaining who renews for a year ends up with fourteen months, not twelve.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20variable%20products%3F\"><h3>Does this work with variable products?<\/h3><\/dt>\n<dd><p>Yes. Naming a variable product under <strong>Offer alongside<\/strong> covers every one of its variations, so you set the rule once rather than per size or colour.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20my%20theme%3F\"><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>The offer renders through WooCommerce's own template system and is styled in relative units, so it takes your theme's type scale rather than fighting it. Every template can be overridden from your theme in the usual way \u2014 copy it into <code>yourtheme\/warranty-cart\/<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20warranty%20products%3F\"><h3>How do I display warranty products?<\/h3><\/dt>\n<dd><p>Use the <code>[warranty_cart]<\/code> shortcode on any page or post. The shortcode accepts one attribute, <code>layout<\/code>:<\/p>\n\n<pre><code>[warranty_cart layout=\"grid\"] or `[warranty_cart layout=\"list\"]`\n<\/code><\/pre>\n\n<p>To scope which products show (category, custom meta, etc.) use the <code>warranty_cart_shortcode_products_query<\/code> filter.<\/p><\/dd>\n<dt id=\"what%20payment%20methods%20are%20supported%3F\"><h3>What payment methods are supported?<\/h3><\/dt>\n<dd><p>Whatever your store already takes. Warranty records are created when a WooCommerce order reaches <strong>Completed<\/strong>, so any gateway WooCommerce supports works \u2014 Stripe, PayPal, Square, Mollie, WooPayments, bank transfer, cash on delivery.<\/p>\n\n<p>The plugin handles no payment itself and has no gateway-specific code. <strong>Warranty Cart \u2192 Settings \u2192 Payments<\/strong> lists every gateway on your store and what each one supports.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20do%20anything%20to%20support%20my%20payment%20gateway%3F\"><h3>Do I need to do anything to support my payment gateway?<\/h3><\/dt>\n<dd><p>No. Warranties are created when an order is marked complete, which WooCommerce does whatever took the payment \u2014 card, PayPal, bank transfer, cash on delivery. Settings \u2192 Payments lists every gateway on your store and what each one supports.<\/p><\/dd>\n<dt id=\"how%20do%20i%20access%20the%20admin%20dashboard%3F\"><h3>How do I access the admin dashboard?<\/h3><\/dt>\n<dd><p>After installation, click the top-level <strong>Warranty Cart<\/strong> menu in your WordPress admin sidebar (shield icon). This provides access to all warranty management features: dashboard, warranty product catalog, warranty records, orders, reports, settings, and tools.<\/p><\/dd>\n<dt id=\"what%20are%20the%20different%20admin%20sections%20for%3F\"><h3>What are the different admin sections for?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Dashboard<\/strong>: sales metrics, recent orders and popular warranties<\/li>\n<li><strong>Warranties<\/strong>: create warranty products, set their terms, choose what they cover<\/li>\n<li><strong>Records<\/strong>: every warranty sold and its current status<\/li>\n<li><strong>Claims<\/strong>: work through customer claims and reply to them<\/li>\n<li><strong>Orders<\/strong>: warranty orders with customer details<\/li>\n<li><strong>Reports<\/strong>: charts showing sales performance and trends<\/li>\n<li><strong>Settings<\/strong>: offer placement, claims, renewals, emails, checkout fields<\/li>\n<li><strong>Tools<\/strong>: import and export data, diagnostics, maintenance<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20do%20warranty%20certificates%20work%3F\"><h3>How do warranty certificates work?<\/h3><\/dt>\n<dd><p>The plugin automatically generates PDF certificates for purchased warranties using DomPDF. They are attached to the order completion email and can be re-downloaded from <strong>Warranty Cart \u2192 Orders<\/strong>. PDFs are stored under <code>wp-content\/uploads\/warranties\/<\/code>. Toggle the feature on or off under <strong>Warranty Cart \u2192 Settings \u2192 Enable PDF certificates<\/strong>.<\/p><\/dd>\n<dt id=\"when%20are%20warranty%20records%20created%3F\"><h3>When are warranty records created?<\/h3><\/dt>\n<dd><p>When a WooCommerce order containing one or more warranty products reaches the <strong>Completed<\/strong> status. That is a WooCommerce core event, so it fires whatever took the payment. Each warranty product in the order produces a row in <code>wp_warranty_cart_warranties<\/code> with status <code>active<\/code> and an <code>expiration_date<\/code> calculated from the duration.<\/p><\/dd>\n<dt id=\"how%20are%20the%20reminder%20and%20expiration%20emails%20scheduled%3F\"><h3>How are the reminder and expiration emails scheduled?<\/h3><\/dt>\n<dd><p>Two daily WP-Cron events handle the lifecycle:<\/p>\n\n<ul>\n<li><code>warranty_cart_check_expirations<\/code> \u2014 marks active warranties as <code>expired<\/code> on or after their <code>expiration_date<\/code> and sends the Warranty Expired email.<\/li>\n<li><code>warranty_cart_send_reminders<\/code> \u2014 emails customers N days before expiration (default 30, filterable via the <code>warranty_cart_reminder_days<\/code> filter).<\/li>\n<\/ul>\n\n<p>If your host disables WP-Cron, set up a real system cron job (every 5\u201315 minutes hitting <code>wp-cron.php<\/code>) and add <code>define('DISABLE_WP_CRON', true);<\/code> to <code>wp-config.php<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20import%20warranty%20products%20in%20bulk%3F\"><h3>How do I import warranty products in bulk?<\/h3><\/dt>\n<dd><p>Go to <strong>Warranty Cart \u2192 Tools<\/strong>, download the sample CSV, fill it in, and upload via the <strong>Import CSV<\/strong> card. Each row creates a WooCommerce product with the Warranty tab pre-filled.<\/p><\/dd>\n<dt id=\"i%20activated%20the%20plugin%20but%20emails%20or%20pdfs%20aren%27t%20sending%20%E2%80%94%20what%20now%3F\"><h3>I activated the plugin but emails or PDFs aren't sending \u2014 what now?<\/h3><\/dt>\n<dd><p>Common fixes:<\/p>\n\n<ul>\n<li>Make sure <strong>Warranty Cart \u2192 Settings \u2192 Enable email notifications<\/strong> and <strong>Enable PDF certificates<\/strong> are on.<\/li>\n<li><code>wp_mail()<\/code> is unreliable on default WordPress installs. Install an SMTP plugin (WP Mail SMTP, FluentSMTP) and connect a real transactional provider.<\/li>\n<li>DomPDF needs the PHP <code>gd<\/code> or <code>imagick<\/code> extension and ~128 MB memory.<\/li>\n<li>Ensure <code>wp-content\/uploads\/warranties\/<\/code> exists and is writable by your web server user.<\/li>\n<\/ul><\/dd>\n<dt id=\"is%20the%20plugin%20secure%3F\"><h3>Is the plugin secure?<\/h3><\/dt>\n<dd><ul>\n<li>All input is sanitized and validated, and REST requests are nonce-checked.<\/li>\n<li>Customers can only see, claim against and renew their own warranties. Ownership is enforced in the domain layer, so it holds however the request arrives.<\/li>\n<li>The plugin processes no payments and stores no card data \u2014 WooCommerce and your gateway handle that, so there is nothing sensitive here to leak.<\/li>\n<li>Uploads are validated and restricted to safe types.<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Sell cover with a picture: choose a plan image from the media library, shown on the product-page offer and the selector<\/li>\n<li>A page per warranty in My Account, with cover terms, what was paid, claims and full renewal history<\/li>\n<li>Renewal history recorded and shown to both the shop and the customer<\/li>\n<li>Rewritten PDF certificate: what is covered, the term, cover dates and terms, issued in the shop's name<\/li>\n<li>CSV export from every list, with filters carried through and figures a spreadsheet can add up<\/li>\n<li>Fixed: the warranty orders list showed an empty table while its pager reported rows<\/li>\n<li>Fixed: Reports showed no sales, ignored the date range, and counted cancelled orders<\/li>\n<li>Fixed: average warranty duration always read zero<\/li>\n<li>New: Our plugins screen, listing the author's other plugins from the WordPress.org directory<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Add public CSV validation helpers and create_product_from_csv() on Import class<\/li>\n<li>Expose cart_has_warranty_products() as public on CheckoutFields<\/li>\n<li>Fix PHP unit test suite: DB credentials, Brain\\Monkey migration, deprecated assertions<\/li>\n<li>Admin UI: dark mode and navbar improvements<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Admin UI redesign: horizontal navbar, dark mode toggle, Shadcn slate palette<\/li>\n<li>Build tooling: flat ESLint config, TypeScript strict checks, Stylelint<\/li>\n<li>CI\/CD: fix SVN deploy workflow action versions<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with comprehensive warranty cart functionality<\/li>\n<li>Shortcode-based product display with dynamic pricing and responsive layouts<\/li>\n<li>Modular payment architecture with Stripe &amp; PayPal integration<\/li>\n<li>Advanced admin dashboard with modern React interface and Shadcn UI components<\/li>\n<li>Comprehensive warranty management system with order tracking<\/li>\n<li>Custom checkout fields for warranty-specific information<\/li>\n<li>Bulk CSV import functionality for efficient product setup<\/li>\n<li>Analytics &amp; reporting dashboard with interactive charts and key metrics<\/li>\n<li>PDF warranty certificate generation and automated email attachment<\/li>\n<li>Email notification system for order completion, reminders, and expiration<\/li>\n<li>Bundle management for main warranties and additional services<\/li>\n<li>Security hardening with input sanitization and nonce verification<\/li>\n<li>HPOS compatibility with WooCommerce High Performance Order Storage<\/li>\n<li>Modern UI\/UX with Framer Motion animations and smooth transitions<\/li>\n<li>Comprehensive testing framework with PHP and E2E tests<\/li>\n<li>Code quality improvements and PHPCS compliance<\/li>\n<\/ul>","raw_excerpt":"WooCommerce warranty plugin: sell extended warranties and protection plans on your product pages, then manage claims and renewals.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/261072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=261072"}],"author":[{"embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mralaminahamed"}],"wp:attachment":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=261072"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=261072"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=261072"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=261072"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=261072"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=261072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}