Skip to content

laravel-shift/woocommerce

This branch is 1 commit ahead of corcel/woocommerce:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5563cdf · Feb 18, 2025

History

73 Commits
May 15, 2024
Jun 16, 2024
Jun 25, 2022
Jun 16, 2024
Oct 4, 2020
Jun 16, 2024
Oct 4, 2020
Oct 4, 2020
May 15, 2024
Feb 18, 2025
May 15, 2024
Oct 4, 2020

Repository files navigation

Corcel WooCommerce logo

A collection of Laravel models for WooCommerce.

This plugin extends base Corcel package and allows fetching WooCommerce data from WordPress database. Currently this plugin implements the following models:

  • Customer - wrapper for User model
  • Order - wrapper for Post model
  • Product - wrapper for Post model
  • Item
  • Product Category - wrapper for Taxonomy model
  • Product Tag - wrapper for Taxonomy model
  • Product Attribute - helper model for getting product attributes (should not be used directly)
  • Product Type - helper model for getting product types (should not be used directly)

Some meta values are collected into helper classes:

Compatibility list

Corcel WooCommerce Laravel PHP version Supported
5.x (master) 10.x, 11.x >= 8.2
4.x 10.x >= 8.1
3.x 9.x >= 8.0.3
2.x 6.x, 7.x, 8.x >= 7.3 | 8.0
1.x 6.x, 7.x >= 7.2

Installation

composer require corcel/woocommerce

Models list

Customer model

Get customer by id

$customer = Customer::find(1);

Customer relation

$customer = Customer::find(1);

$customerOrders = $customer->orders;

Customer properties

$customer = Customer::find(1);

$customer->order_count;      // e.g. 10
$customer->billing_address;  // \Corcel\WooCommerce\Support\BillingAddress class instance
$customer->shipping_address; // \Corcel\WooCommerce\Support\ShippingAddress class instance

Order model

Get order by id

$order = Order::find(1);

Get completed orders

$completedOrders = Order::completed()->get();

For other statuses methods please check OrderBuilder.php.

Order relations

$order = Order::find(1);

$orderItems    = $order->items;
$orderCustomer = $order->customer;

Order properties

$order = Order::find(1);

$order->currency;         // e.g. EUR
$order->total;            // e.g. 10.20
$order->tax;              // e.g. 0.50
$order->shipping_tax;     // e.g. 0.20
$order->status;           // e.g. completed
$order->date_completed;   // e.g. 2020-06-01 10:00:00
$order->date_paid;        // e.g. 2020-06-01 10:00:00
$order->payment;          // \Corcel\WooCommerce\Support\Payment class instance
$order->billing_address;  // \Corcel\WooCommerce\Support\BillingAddress class instance
$order->shipping_address; // \Corcel\WooCommerce\Support\ShippingAddress class instance

Item model

Get item by id

$item = Item::find(1);

Item relations

$item = Item::find(1);

$itemOrder   = $item->order;
$itemProduct = $item->product;

Item properties

$item = Item::find(1);

$item->order_item_id;
$item->order_item_name;
$item->order_item_type;
$item->order_id;
$item->product_id;
$item->variation_id;
$item->quantity;          // e.g. 2
$item->tax_class;
$item->line_subtotal;     // e.g. 5.50
$item->line_subtotal_tax; // e.g. 0.50
$item->line_total;        // e.g. 10.50
$item->line_tax;          // e.g. 2.00

Product model

Get product by id

$product = Product::find(1);

Product relations

$product = Product::find(1);

$product->categories;
$product->items;
$product->tags;

Product properties

$product = Product::find(1);

$product->price;
$product->regular_price;
$product->sale_price;
$product->on_sale;
$product->sku;
$product->tax_status;
$product->is_taxable;
$product->weight;
$product->length;
$product->width;
$product->height;
$product->is_virtual;
$product->is_downloadable;
$product->stock;
$product->in_stock;
$product->type;
$product->attributes; // Collection of (variation) attributes
$product->crosssells; // Collection of cross-sell products
$product->upsells;    // Collection of up-sell products
$product->gallery;    // Collection of gallery attachments

Helper classes list

BillingAddress helper

This class collects customer and order meta related to billing address.

$order   = Order::find(1);
$address = $order->billingAddress;

$address->first_name;
$address->last_name;
$address->company;
$address->address_1;
$address->address_2;
$address->city;
$address->state;
$address->postcode;
$address->country;
$address->email;
$address->phone;

ShippingAddress helper

This class collects customer and order meta related to billing address.

$order   = Order::find(1);
$address = $order->shippingAddress;

$address->first_name;
$address->last_name;
$address->company;
$address->address_1;
$address->address_2;
$address->city;
$address->state;
$address->postcode;
$address->country;

Payment helper

This class collects order meta related to payment.

$order   = Order::find(1);
$payment = $order->payment;

$payment->method;
$payment->method_title;
$payment->transaction_id;

About

Corcel WooCommerce Plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%