WP Manifestindependent plugin directory
manifest / ecommerce / trusted-basket

trusted woocommerce basket

a wordpress plugin which provide a user trusted basket for keeping it's orders during the month and send them at the end of the month, with ability of requesting order products at any time during the month, leading to reduce shipment costs

by ata ashrafi · github.com/elmira-ashrafi/trusted-basket · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/elmira-ashrafi/trusted-basket/archive/refs/heads/main.zip

Readme

Trusted WooCommerce Basket

A WooCommerce plugin that lets customers hold onto purchased products in a "trusted basket" instead of receiving them right away — items are kept safe and shipped together at the end of the month (or any custom period), and everyone involved (customer and admin) gets SMS notifications at each step.

Built for stores where customers order recurring items but don't want a separate shipment (and shipping cost) every single time — they can choose to accumulate items and get one consolidated, free-shipping delivery instead.


✨ Key Features

  • Post-purchase decision prompt — right after checkout, the customer is asked on the order confirmation page whether they want to keep this order in the trusted basket or have it shipped immediately.
  • Custom WooCommerce order statuses — introduces three dedicated statuses to track this flow end-to-end: pending decision, held in trusted basket, and shipped from trusted basket.
  • Decision deadline with automatic fallback — if the customer doesn't respond in time, a scheduled task automatically moves the order into normal processing so nothing gets stuck.
  • Consolidated periodic shipping — a recurring background job checks which customers have basket items past their trusted period and ships everything they've accumulated in one go, rather than order-by-order.
  • Free shipping incentive — customers with an active trusted basket automatically get free shipping rates applied via WooCommerce's shipping rate filters.
  • "My Trusted Products" account tab — adds a new tab to the WooCommerce My Account page where customers can see everything currently held in their trusted basket, with an option to request early shipment.
  • SMS notifications (Kavenegar) — customer and admin are both notified by SMS at every stage: when an order enters the trusted basket, and when it finally ships.

🔄 Order Lifecycle

        Checkout completed
               │
               ▼
     ┌─────────────────────┐
     │  Pending Determine    │  ← customer is asked: keep or ship now?
     └──────────┬───────────┘
                │
      ┌─────────┴─────────┐
      │                    │
 (keeps it)           (ships now / deadline passed)
      │                    │
      ▼                    ▼
┌──────────────┐   ┌──────────────┐
│ Keep Trusted   │   │  Processing   │
│ (in basket)    │   └──────────────┘
└──────┬─────────┘
       │  (trusted period ends → background job runs)
       ▼
┌──────────────────┐
│ Trusted Finished    │  ← all accumulated orders shipped together
└──────────────────┘

Each transition sends an SMS to the customer and/or the store admin so both sides always know the current state of the order.


📋 Requirements

  • WordPress 6.5+
  • WooCommerce (active and configured)
  • PHP 7.4+
  • A Kavenegar account (or equivalent SMS provider — the integration is built around Kavenegar's lookup/verify API) for transactional notifications

⚙️ Installation & Setup

  1. Copy the plugin folder into wp-content/plugins/ and activate it from the WordPress admin panel.
  2. Make sure WooCommerce is installed and active — this plugin extends it and won't function without it.
  3. In includes/class-trusted-product-basket.php, set your Kavenegar API key and admin notification phone number (currently placeholders) so SMS notifications can be sent.
  4. Adjust the trusted-basket duration and decision deadline to match your store's policy — these are currently set to short intervals for testing and should be updated for production use.
  5. Visit Settings → Permalinks → Save once after activation to make sure the new "My Trusted Products" account endpoint resolves correctly.

Author

Elmira Ashrafigithub.com/elmira-ashrafi

Read the full README on GitHub →