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插件快速进行批量编辑、导出、删除、复制等存储操作。 您不会后悔您的购买。