در ووکامرس توابعی وجود دارند که می‌توان با استفاده از آن‌ها اطلاعات محصول نظیر نام محصول، نوع، وضعیت، شناسه آن و… را دریافت کرد. این توابع کاربردی بوده و در هوک‌ها می‌توان از آن‌ها استفاده نمود. در این نوشته قرار است دریافت اطلاعات محصول در ووکامرس را به شما آموزش دهیم.

آنچه در این نوشته خواهید خواند:

دسترسی به توابع محصول با استفاده از متغیر product$

در هوک‌هایی (do_action و یا apply_filters) که استفاده از شی product$ مجاز است، شما می‌توانید از توابع زیر استفاده نمایید.

// 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();

دسترسی به توابع محصول با استفاده از متغیر product_id$

اگر در هوک‌ها به ID محصول (متغیر product_id$) دسترسی داشتید، با استفاده از تابع wc_get_product می‌توان به توابع محصول دسترسی داشت.

// 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.

دسترسی به توابع محصول با استفاده از شی order$ یا order_id$

در صورتی که می‌خواهید با استفاده از آیتم‌های سفارش به توابع محصول دسترسی داشته باشید، کافی است از قطعه کد زیر استفاده کنید.

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

دسترسی به توابع محصول با استفاده از شی cart$

در صورتی که می‌خواهید درون سبد خرید از توابع محصول استفاده کنید، قطعه کد زیر به شما کمک خواهد کرد تا این کار را به راحتی انجام دهید.

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

در نوشته بالا، نحوه دریافت اطلاعات محصول در ووکامرس را به شما آموزش دادیم. در صورتی که سوالی داشتید آن را با ما از طریق دیدگاه‌ها در میان بگذارید.

منبع: Business Bloomer

نوشته مرتبط
بارگذاری تصاویر base64 در وردپرس

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *