Cara mendapatkan info produk dari produk objek WooCommerce

Photo by Rubaitul Azad

Sebagai freelancer pengembangan WooCommerce, setiap hari Anda mengulangi banyak operasi yang sangat menyita waktu dan salah satunya adalah “ Bagaimana cara mendapatkan ____ jika memiliki variabel/objek $produk? “. Tapi jangan khawatir, Mangcoding akan share mengenai Cara mendapatkan info produk dari produk objek WooCommerce, Ingin tahu caranya? Yuk lanjut Baca!

Misalnya, “Bagaimana kita bisa mendapatkan SKU produk ”? Atau “Bagaimana kita bisa mendapatkan deskripsi singkat produk ”? Atau mungkin tingkat stok produk , kelas pengiriman, kelas pajak, harga, harga reguler, harga jual, dan sebagainya… semoga artikel ini dapat menghemat waktu Anda.

Tentu saja, Anda tidak selalu memiliki akses ke variabel $product (kita berbicara tentang hook WooCommerce misalnya), jadi Anda juga harus memahami skenario kasus Anda dan melihat apakah Anda bisa “mendapatkan” objek $product itu di tempat lain.

Misalnya, Anda mungkin mengetahui $product_id. Dalam hal ini, Anda harus menemukan cara untuk “mendapatkan objek $produk dari $produk_id” – Anda dapat menemukan contoh ini di bawah.

Contoh lain mungkin pesanan atau halaman keranjang. Sekali lagi, di sini Anda tidak benar-benar memiliki $product yang tersedia, jadi Anda harus menelusuri item pesanan/keranjang dan “mendapatkannya”. Setelah itu, Anda kemudian dapat menghitung dan mendapatkan informasi apa pun yang Anda perlukan dari $product.

Link Mangcoding1. Anda memiliki akses ke variabel $product

Hooks (do_action dan apply_filters) menggunakan argumen tambahan yang diteruskan ke fungsi. Jika mereka mengizinkan Anda untuk menggunakan objek “$product” dalam bisnis. Alternatifnya, Anda dapat mendeklarasikan “$produk global” di dalam fungsi Anda.

Dalam kasus tersebut, berikut kode cara mendapatkan semua informasi produk :

// Get Product ID
  
$product->get_id();
  
// Get 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() );
  
// Get 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();
  
// Get 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();
  
// Get Product Dimensions
  
$product->get_weight();
$product->get_length();
$product->get_width();
$product->get_height();
$product->get_dimensions();
  
// Get Linked Products
  
$product->get_upsell_ids();
$product->get_cross_sell_ids();
$product->get_parent_id();
  
// Get Product Variations and Attributes
 
$product->get_children(); // get variations
$product->get_attributes();
$product->get_default_attributes();
$product->get_attribute( 'attributeid' ); //get specific attribute value
  
// Get Product Taxonomies
  
$product->get_categories();
$product->get_category_ids();
$product->get_tag_ids();
  
// Get Product Downloads
  
$product->get_downloads();
$product->get_download_expiry();
$product->get_downloadable();
$product->get_download_limit();
  
// Get Product Images
  
$product->get_image_id();
$product->get_image();
$product->get_gallery_image_ids();
  
// Get Product Reviews
  
$product->get_reviews_allowed();
$product->get_rating_counts();
$product->get_average_rating();
$product->get_review_count();

 

Link Mangcoding2. Anda memiliki akses ke $product_id

Jika Anda memiliki akses ke ID produk (sekali lagi, biasanya do_action atau apply_filters akan memungkinkan Anda melakukannya), Anda harus mendapatkan objek produk terlebih dahulu. Kemudian, lakukan hal yang sama persis seperti di atas.

// Get $product object from product ID
  
$product = wc_get_product( $product_id );
  
// Now you have access to (see above)...
  
$product->get_type();
$product->get_name();
// etc.
// etc.

 

Link Mangcoding3. Anda memiliki akses ke objek Pesanan atau ID Pesanan

Bagaimana cara mendapatkan informasi produk di dalam Pesanan? Dalam hal ini Anda perlu mengulangi semua item yang ada dalam urutan, lalu menerapkan aturan di atas.

// Get $product object from $order / $order_id
  
$order = wc_get_order( $order_id );
$items = $order->get_items();
  
foreach ( $items as $item ) {
  
    $product = $item->get_product();
  
    // Now you have access to (see above)...
  
    $product->get_type();
    $product->get_name();
    // etc.
    // etc.
  
}

 

Jika Anda ingin mengetahui Artikel lain serta memperluas pengetahuan anda tentang Cara mendapatkan info pesanan dari order Object Woocommerce

Link Mangcoding4. Anda memiliki akses ke objek Cart

Bagaimana cara mendapatkan informasi produk di dalam Keranjang? Dalam hal ini, sekali lagi, Anda perlu mengulang semua item yang ada di keranjang, lalu menerapkan aturan di atas.

// Get $product object from Cart object
  
$cart = WC()->cart->get_cart();
  
foreach( $cart as $cart_item_key => $cart_item ){
  
    $product = $cart_item['data'];
  
    // Now you have access to (see above)...
  
    $product->get_type();
    $product->get_name();
    // etc.
    // etc.
  
}

 

Link Mangcoding5. Anda memiliki akses ke objek $post

Dalam kasus tertentu (misalnya backend) Anda hanya bisa mendapatkan akses ke $post. Jadi, bagaimana kita “menghitung” $produk dari $post? Mudah sekali, silahkan perhatikan kode dibawah :

// Get $product object from $post object
  
$product = wc_get_product( $post );
  
// Now you have access to (see above)...
  
$product->get_type();
$product->get_name();
// etc.
// etc.

 

Referensi : Businessbloomer