WooCommerce – 如何從 $product 對象獲取產品 ID、SKU、價格?

已發表: 2022-09-15
目錄隱藏
1.通過代碼從 $product 對像中獲取產品信息
1.1。 您可以訪問 $product 變量
1.2. 您有權訪問 $product_id
1.3. 您有權訪問訂單對像或訂單 ID
1.4. 您有權訪問 Cart 對象
1.5。 您可以訪問 $post 對象
2.如何將所有產品/庫存集中在一處?
2.1。 如何使用 Smart Manager 更好地管理庫存/庫存?
、結論

如何獲取產品ID? 如何獲取產品SKU? 或者如何獲取產品價格、庫存、銷售價格、正常價格、運輸等級、稅收等級、圖像、尺寸、屬性、類別等?

如果您是技術人員,我會將其表述為“如果我有 $product 對象/變量,如何獲得____?”

獲取訂單中存在的產品、應用高級產品過濾器、編輯價格和描述……您需要產品詳細信息來完成各種商店操作。

本文列出了一些代碼,您可以使用這些代碼在 WooCommerce 中按 ID、按類別獲取產品、按價格、產品和其他詳細信息獲取產品,以勾選您的庫存管理任務。

此外,您如何從一個地方獲取和管理所有產品詳細信息、訂單、優惠券、任何 WordPress 自定義帖子類型,從而將您的商店生產力提高 10 倍。

那麼讓我們開始吧。

通過代碼從 $product 對象獲取產品信息

您並不總是可以訪問 $product 對象(例如,我在談論 WooCommerce 掛鉤)。 了解您的情況,看看您是否可以通過另一種方式“獲取”該 $product 對象。

在這種情況下,您必須找到一種“從 $product_id 獲取 $product 對象”的方法。

其他示例可能是訂單頁面或購物車頁面。 在這裡,您實際上沒有可用的 $product,因此您必須遍歷訂單/購物車項目並“獲取”它。 之後,您可以計算並從 $product 中獲取您需要的任何信息。

您可以訪問 $product 變量

鉤子(do_action 和 apply_filters)使用傳遞給函數的附加參數。 如果他們允許您使用“$product”對象,那就太好了。 或者,您可以在函數中聲明“全局 $product”。
在這兩種情況下,您都可以通過以下方式獲取所有產品信息:

// 獲取產品 ID
  
$product->get_id();
  
// 獲取產品一般信息
  
$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->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->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->get_weight();
$product->get_length();
$product->get_width();
$product->get_height();
$product->get_dimensions();
  
// 獲取鏈接產品
  
$product->get_upsell_ids();
$product->get_cross_sell_ids();
$product->get_parent_id();
  
// 獲取產品變體和屬性
 
$product->get_children(); // 獲取變體
$product->get_attributes();
$product->get_default_attributes();
$product->get_attribute('attributeid'); //獲取具體屬性值
  
// 獲取產品分類
  
$product->get_categories();
$product->get_category_ids();
$product->get_tag_ids();
  
// 獲取產品下載
  
$product->get_downloads();
$product->get_download_expiry();
$product->get_downloadable();
$product->get_download_limit();
  
// 獲取產品圖片
  
$product->get_image_id();
$product->get_image();
$product->get_gallery_image_ids();
  
// 獲取產品評論
  
$product->get_reviews_allowed();
$product->get_rating_counts();
$product->get_average_rating();
$product->get_review_count();

您有權訪問 $product_id

如果您有權訪問產品 ID(同樣,通常 do_action 或 apply_filters 將使您能夠做到這一點),您必須首先獲取產品對象。 然後,做與上面完全相同的事情。

// 從產品 ID 中獲取 $product 對象
  
$product = wc_get_product( $product_id );
  
// 現在您可以訪問(見上文)...
  
$product->get_type();
$product->get_name();
// ETC。
// ETC。

您有權訪問訂單對像或訂單 ID

如何獲取訂單中的產品信息? 在這種情況下,您需要遍歷訂單中存在的所有項目,然後應用上述規則。

// 從 $order / $order_id 獲取 $product 對象
  
$order = wc_get_order($order_id);
$items = $order->get_items();
  
foreach ( $item 作為 $item ) {
  
    $product = $item->get_product();
  
    // 現在您可以訪問(見上文)...
  
    $product->get_type();
    $product->get_name();
    // ETC。
    // ETC。
  
}

另請閱讀——如何從 $order 對像中獲取附加信息。

您有權訪問 Cart 對象

如何獲取購物車內的產品信息? 在這種情況下,您需要再次遍歷購物車中的所有商品,然後應用上述規則。 如果您想擴展您的 WooCommerce PHP 知識,這裡是另一篇關於如何從 $cart 對像中獲取附加信息的文章。

// 從 Cart 對像中獲取 $product 對象
  
$cart = WC()->cart->get_cart();
  
foreach( $cart as $cart_item_key => $cart_item ){
  
    $product = $cart_item['data'];
  
    // 現在您可以訪問(見上文)...
  
    $product->get_type();
    $product->get_name();
    // ETC。
    // ETC。
  
}

另請閱讀 - 如何從 $cart 對像中獲取附加信息。

您可以訪問 $post 對象

在某些情況下(例如 WordPress 管理端或後端),您只能訪問 $post。 那麼,我們如何從 $post 中“計算”出 $product 呢? 十分簡單:

// 從 $post 對像中獲取 $product 對象
  
$product = wc_get_product($post);
  
// 現在您可以訪問(見上文)...
  
$product->get_type();
$product->get_name();
// ETC。
// ETC。

如何將所有產品/庫存集中在一處?

如果您想將所有產品信息、庫存、價格、其他詳細信息、SKU……大量詳細信息集中在一個地方怎麼辦?

不僅僅是一個視圖,還可以在需要時編輯詳細信息以及批量編輯?

智能管理器讓您成為可能。 它在簡潔的儀表板中顯示您所有產品的數據。

特色圖片、正常價格、銷售價格、附加信息、SKU、類別、屬性……所有這些都可以在類似 Excel 的電子表格中輕鬆獲得。 使用電子表格直接管理、編輯產品。 在幾分鐘或幾秒鐘內完成數小時的任務。

簡單的產品、可變的產品和變體、附屬產品……適用於所有人。

WooCommerce 在一處獲取產品 ID sku 價格類別詳細信息

如何使用 Smart Manager 更好地管理庫存/庫存?

  • 將任意數量的新產品添加到您的庫存數據庫中。
  • 啟用或禁用每個產品的“管理庫存”。
  • 管理、編輯 SKU、庫存狀態、正常價格、銷售價格。
  • 編輯產品描述、稅務狀況。
  • 為每個產品添加稅收狀態、稅收類別、運輸類別、特徵圖像、產品縮略圖。 添加屬性、編輯類別和產品狀態。
  • 將所有或選定股票的銷售價格或正常價格的 X% 或金額增加或減少
  • 批量編輯庫存狀態、庫存等。
  • 使用批量編輯根據產品的正常價格設置銷售價格。
  • 使用批量編輯執行附加、前置、增加、減少、設置為、複製自等操作。
  • 使用批量編輯一次為數百種產品添加屬性
  • 實時庫存更新 - 銷售時自動更新庫存數量。
  • 管理延期交貨
  • 根據庫存狀態、SKU、價格等過濾庫存。應用 OR、AND 或這兩種條件的組合以在數千件商品中獲取所需的結果。
  • 獲取預定義的自定義視圖。 僅查看所需的與庫存相關的數據列並隱藏所有其他列以僅關注與庫存或庫存相關的指標。 在進行出口之前,還可以按名稱、SKU、價格等對產品進行分類。
  • 僅將那些庫存數據導出為您需要的 CSV。 喜歡名稱和庫存數量。 這些將使您的商店或倉庫中的人們知道哪些產品需要快速補貨,哪些產品庫存緩慢等。
  • 使用過濾器和批量編輯刪除單個庫存。 詳細了解如何安全刪除所有產品。
  • 管理自定義插件添加的庫存字段

Smart Manager 與這些頂級 WooCommerce 插件兼容——WooCommerce 訂閱、預訂、會員資格、產品附加組件、商品成本。

您可以輕鬆管理這些插件添加的所有庫存和產品字段。

如此輕鬆,您不覺得 Smart Manager 是最好的 WooCommerce 庫存管理插件嗎?

試用 Smart Manager 現場演示

結論

如果您喜歡編碼,並且精通鉤子和過濾器,您可以在需要時採用編碼方法來獲取產品信息。

從一個地方查看和管理成百上千的產品; 使用Smart Manager插件快速進行批量編輯、導出、刪除、複製等存儲操作。 您不會後悔您的購買。