corcel / woocommerce
WooCommerce plugin for Corcel
Installs: 20 062
Dependents: 0
Suggesters: 0
Security: 0
Stars: 105
Watchers: 11
Forks: 29
Open Issues: 7
Requires
- php: ^8.2
- illuminate/database: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- jgrossi/corcel: ^7.0|^8.0
- nesbot/carbon: ^2.66|^3.0
Requires (Dev)
- larastan/larastan: ^2.4
- laravel/pint: ^1.4
- orchestra/testbench: ^8.0|^9.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5.10|^10.5
README
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:
- BillingAddress - helper for customer and order billing address
- ShippingAddress - helper for customer and order shipping address
- Payment - helper for order payment
Compatibility list
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;