Your order qualifies for free shipping!

Remove item Thumbnail image Product Price Quantity Subtotal
× Hepu P999-G13Antifreeze
Supplier:

Mtoto

Availability:

34

KSh 2,267.61
KSh 2,267.61
× Mann-Filter HU 6008/1 ZOil Filter
EDD: Thursday, August 20, 2026
Supplier:

Baba

Delivery:

1

Availability:

20

KSh 3,678.87
KSh 3,678.87
× BOSCH 0 414 701 105Pump and Nozzle Unit
Supplier:

Mama

Availability:

120

KSh 55,341.27
KSh 55,341.27
× BOSCH 0 445 120 287
Supplier:

Mama

Availability:

118

KSh 87,263.49
KSh 87,263.49
× Hengst Filter E3950LI-2Filter, interior air
EDD: Thursday, August 20, 2026
Supplier:

Baba

Delivery:

1

Availability:

6

KSh 9,991.55
KSh 9,991.55
× Febi Bilstein 37400Antifreeze
EDD: Thursday, August 20, 2026
Supplier:

Baba

Delivery:

1

Availability:

200

KSh 2,208.45
KSh 2,208.45
× BOSCH 0 241 140 537Spark Plug
EDD: Thursday, August 20, 2026
Supplier:

Baba

Delivery:

1

Availability:

107

KSh 2,943.66
KSh 2,943.66
× Febi Bilstein 02098Track Control Arm
Supplier:

Baba

Availability:

5

KSh 3,089.52
KSh 3,089.52
× BOSCH 0 445 020 208High Pressure Pump
Supplier:

Mama

Availability:

110

KSh 232,870.92
KSh 232,870.92
× BOSCH 0 414 799 011Pump and Nozzle Unit
EDD: Saturday, October 3, 2026
Supplier:

Baba

Delivery:

45 days

Availability:

116

KSh 28,049.21
KSh 28,049.21
Remove All

Cart totals

Subtotal KSh 427,704.55
Shipping

Shipping to Nairobi County.

Change address
Total KSh 427,704.55
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);
});