Your order qualifies for free shipping!

Remove item Thumbnail image Product Price Quantity Subtotal
× TOYOTA 08880-83320Engine Oil
Supplier:

Mama

Availability:

21

KSh 540.85
KSh 540.85
× BOSCH 0 414 799 005Pump and Nozzle Unit
EDD: Friday, August 28, 2026
Supplier:

Kaka

Delivery:

9days

Availability:

118

KSh 12,812.70
KSh 12,812.70
× BOSCH 0 414 799 025Pump and Nozzle Unit
EDD: Friday, August 28, 2026
Supplier:

Kaka

Delivery:

9days

Availability:

19

KSh 27,619.05
KSh 27,619.05
× Placeholder TOYOTA 9161160814Wheel Brake Cylinder
Supplier:

Kaka

Availability:

1090

KSh 62.08
KSh 62.08
× TOYOTA 08880-83713Engine Oil
Supplier:

Mama

Availability:

3796

KSh 218.31
KSh 218.31
Remove All

Cart totals

Subtotal KSh 41,252.99
Shipping

Shipping to Nairobi County.

Change address
Total KSh 41,252.99
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare
What are you looking for in PartZote?
<?php

add_action('init', function () {
    // Gmail-inspired custom statuses
    $statuses_to_add = [
        'requested' => ['label' => 'Requested', 'color' => '#e3f2fd'],
        'awaiting_confirmation' => ['label' => 'Awaiting Confirmation', 'color' => '#fff3e0'],
        'confirmed' => ['label' => 'Confirmed', 'color' => '#f1f8e9'],
        'in_transit' => ['label' => 'In Transit', 'color' => '#e8eaf6'],
        'arrived_locally' => ['label' => 'Arrived Locally', 'color' => '#ede7f6'],
        'splitted' => ['label' => 'Split Order', 'color' => '#f3e5f5'],
        'ready_to_pick' => ['label' => 'Ready to Pickup', 'color' => '#f0f4c3'],
        'ready_to_deliver' => ['label' => 'Ready to Deliver', 'color' => '#e0f7fa'],
        'partially_delivered' => ['label' => 'Partially Delivered', 'color' => '#fffde7'],
        'completed' => ['label' => 'Completed', 'color' => '#e8f5e9'],
        'returned' => ['label' => 'Returned', 'color' => '#fce4ec'],
        'cancelled' => ['label' => 'Cancelled', 'color' => '#fbe9e7'],
        'refunded' => ['label' => 'Refunded', 'color' => '#ede7f6'],
    ];

    // 1. Save or merge into custom_order_statuses option
    $existing = get_option('custom_order_statuses', []);
    $merged = $existing;

    foreach ($statuses_to_add as $slug => $data) {
        $label = $data['label'];
        $color = $data['color'];

        $merged[$slug] = ['label' => $label, 'color' => $color];

        // 2. Register as post status
        register_post_status('wc-' . $slug, [
            'label'                     => $label,
            'public'                    => true,
            'exclude_from_search'       => false,
            'show_in_admin_all_list'    => true,
            'show_in_admin_status_list' => true,
            'label_count'               => _n_noop("$label <span class='count'>(%s)</span>", "$label <span class='count'>(%s)</span>"),
        ]);
    }

    update_option('custom_order_statuses', $merged);
});

// 3. Register them into WooCommerce dropdowns
add_filter('wc_order_statuses', function ($statuses) {
    $custom = get_option('custom_order_statuses', []);
    foreach ($custom as $slug => $data) {
        $statuses['wc-' . $slug] = $data['label'];
    }
    return $statuses;
});

// 4. Ensure role_permissions has these labels set to TRUE
add_action('admin_init', function () {
    $custom = get_option('custom_order_statuses', []);
    $roles = ['administrator', 'shop_manager', 'wcfm_vendor', 'customer'];
    $role_permissions = get_option('role_permissions', []);

    foreach ($roles as $role) {
        if (!isset($role_permissions[$role])) $role_permissions[$role] = [];
        if (!isset($role_permissions[$role]['order_statuses'])) $role_permissions[$role]['order_statuses'] = [];

        foreach ($custom as $slug => $data) {
            $label = $data['label'];
            $role_permissions[$role]['order_statuses'][$label] = true;
        }
    }

    update_option('role_permissions', $role_permissions);
});