WordPress Expert

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, WordPress expert voor hulp en onderhoud

Hey, ik ben Frank, Freelance WordPress developer achter WPX.

Loop je vast met je WordPress website of wil je iets technisch laten oplossen? Stuur me kort wat er misgaat, dan kijk ik met je mee.

Stuur je vraag aan mij
Frank Schrijvers, freelance WordPress expert

Hulp nodig bij je WordPress website of WooCommerce webshop?

Loop je ergens tegenaan met je website? Stuur me je vraag over WordPress onderhoud, WordPress hulp, WooCommerce of maatwerk.