Giter Club home page Giter Club logo

woocommerce-1's Introduction

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
1.x 6.x, 7.x >= 7.2
2.x (master) 6.x, 7.x, 8.x >= 7.3

Currently PHP 8.0 is not supported.

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;

woocommerce-1's People

Contributors

dartui avatar rowino avatar twmbx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.