WooCommerce: opvragen product info (ID, SKU, $)

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.
  
}
me

Over Frank Schrijvers

Hey! Ik ben Frank Schrijvers, WordPress developer, webdesigner, vader en indoor climber. Ik ben het hart en de ziel van WPX en help je graag verder met je WordPress of WooCommerce website.

Heb je een leuk project en wil je met mij samenwerken?

Dat kan! Neem gerust contact op via mail of telefoon.