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.
  
}
Frank Schrijvers

Over Frank Schrijvers

Hey! Ik ben Frank, een creatieve duizendpoot en fulltime WordPress-expert achter WPX. Met passie voor maatwerk ontwikkel ik unieke websites en webshops, bied ik WordPress-onderhoud en zorg ik voor razendsnelle hosting.

Meer weten? Check mijn verhaal!

Hulp nodig met je WordPress of WooCommerce website?

Met mijn ruime ervaring sta ik klaar om je verder te helpen