Als WooCommerce developer voer ik regelmatig dezelfde handelingen uit. Maar toch komt het vaak voor dat ik even moet zoeken hoe ik bijvoorbeeld de WooCommerce productprijs, SKU of productafbeeldingen kan opvragen. Of misschien het voorraadniveau van het product of de BTW klasse, de sale price etc. In deze post heb ik alle mogelijkheden verzamelt waar ik en hopelijk ook jij een hoop tijd mee kan besparen.
Je hebt toegang tot $ productvariabele
Als je toegang hebt tot de $product variabele dan kan je op onderstaande manier de product informatie opvragen:
// Product ID
$product->get_id();
// Product General Info
$product->get_type();
$product->get_name();
$product->get_slug();
$product->get_date_created();
$product->get_date_modified();
$product->get_status();
$product->get_featured();
$product->get_catalog_visibility();
$product->get_description();
$product->get_short_description();
$product->get_sku();
$product->get_menu_order();
$product->get_virtual();
get_permalink( $product->get_id() );
// Product Prices
$product->get_price();
$product->get_regular_price();
$product->get_sale_price();
$product->get_date_on_sale_from();
$product->get_date_on_sale_to();
$product->get_total_sales();
// Product Tax, Shipping & Stock
$product->get_tax_status();
$product->get_tax_class();
$product->get_manage_stock();
$product->get_stock_quantity();
$product->get_stock_status();
$product->get_backorders();
$product->get_sold_individually();
$product->get_purchase_note();
$product->get_shipping_class_id();
// Product Dimensions
$product->get_weight();
$product->get_length();
$product->get_width();
$product->get_height();
$product->get_dimensions();
// Linked Products
$product->get_upsell_ids();
$product->get_cross_sell_ids();
$product->get_parent_id();
// Product Variations and Attributes
$product->get_children(); // get variations
$product->get_attributes();
$product->get_default_attributes();
$product->get_attribute( 'attributeid' ); //get specific attribute value
// Product Taxonomies
$product->get_categories();
$product->get_category_ids();
$product->get_tag_ids();
// Product Downloads
$product->get_downloads();
$product->get_download_expiry();
$product->get_downloadable();
$product->get_download_limit();
// Product Images
$product->get_image_id();
$product->get_image();
$product->get_gallery_image_ids();
// Product Reviews
$product->get_reviews_allowed();
$product->get_rating_counts();
$product->get_average_rating();
$product->get_review_count();
Je hebt toegang tot $ product_id
Heb je toegang tot de WooCommerce variabele $product_id dan moet je eerst het product object verkrijgen. Hieran kan je bovenstaande opties gebruiken.
// Haal $product object op van product ID
$product = wc_get_product( $product_id );
// Nu heb je toegang tot bovenstaande opties ...
$product->get_type();
$product->get_name();
$product->get_slug();
$product->get_date_created();
// etc.
Je hebt toegang tot het Order-object of Order-ID
Om toegang te krijgen tot de productinformatie in de bestelling moet je alle items in de bestelling doorlopen en vervolgens de bovenstaande regels toepassen.
// Haal $product object op van $order / $order_id
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
$product = $item->get_product();
// Nu heb je toegang tot bovenstaande opties ...
$product->get_type();
$product->get_name();
$product->get_slug();
$product->get_date_created();
// etc.
}
Je hebt toegang tot het winkelwagen-object
Om toegang te krijgen tot de productinformatie in de winkelwagen moet je nogmaals alle items in de winkelwagen doorlopen en vervolgens de bovenstaande regels toepassen.
// Haal $product object op van Cart object
$cart = WC()->cart->get_cart();
foreach( $cart as $cart_item_key => $cart_item ){
$product = $cart_item['data'];
/// Nu heb je toegang tot bovenstaande opties ...
$product->get_type();
$product->get_name();
$product->get_slug();
$product->get_date_created();
// etc.
}