获取具有相似 SKU 的 WooCommerce 产品列表
Posted
技术标签:
【中文标题】获取具有相似 SKU 的 WooCommerce 产品列表【英文标题】:Get WooCommerce products list that have similar SKU 【发布时间】:2020-09-02 08:18:32 【问题描述】:如何获取以相同值开头的 SKU 产品的对象列表? 示例:
我有以下产品:
第 1 条 - Sku:ART_1 第 2 条 - Sku:ART_2 第 3 条 - Sku:ART_3我想获取所有以“ART_”开头的产品。 提前致谢。
【问题讨论】:
【参考方案1】:以下自定义函数将使用来自 sku 摘录的轻量级 SQL 查询(如 ART_
)查询所有产品 ID 和 sku(标准对象) :
wc_get_products_ids_and_skus( $sku_excerpt )
global $wpdb;
// Get all product Ids and skus (standard objects) from a sku excerpt
return $wpdb->get_results( $wpdb->prepare( "
SELECT p.ID as id, pm.meta_value as sku
FROM $wpdb->prefixposts p
INNER JOIN $wpdb->prefixpostmeta pm
ON p.ID = pm.post_id
WHERE p.post_type = 'product'
AND p.post_status = 'publish'
AND pm.meta_key = '_sku'
AND pm.meta_value LIKE '%s'
", '%'.$sku_excerpt.'%' ) );
代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。
用法(示例):
$sku_excerpt = 'ART_';
$results = wc_get_products_ids_and_skus( $sku_excerpt );
// Loop through results
foreach ( $results as $result )
$product_id = $result->id;
$product_sku = $result->sku;
// Get the WC_Product Object (if needed)
$product = wc_get_product( $product_id );
// Testing output
echo 'Product Id '.$product_id.' and sku '.$product_sku.'<br>';
【讨论】:
以上是关于获取具有相似 SKU 的 WooCommerce 产品列表的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Woocommerce 中的订单项中获取产品 sku [重复]