获取具有相似 SKU 的 WooCommerce 产品列表
Get WooCommerce products list that have similar SKU
如何获取 SKU 以相同值开头的产品的对象列表?
示例:
我有以下产品:
- 第 1 条 - Sku:ART_1
- 第 2 条 - Sku:ART_2
- 第 3 条 - Sku:ART_3
我想获取所有以“ART_”开头的产品。
提前致谢。
以下自定义函数将查询所有产品 ID 和 sku (标准对象) 使用来自 sku 摘录的简单 SQL 查询(如ART_
):
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->prefix}posts p
INNER JOIN {$wpdb->prefix}postmeta 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 以相同值开头的产品的对象列表? 示例:
我有以下产品:
- 第 1 条 - Sku:ART_1
- 第 2 条 - Sku:ART_2
- 第 3 条 - Sku:ART_3
我想获取所有以“ART_”开头的产品。 提前致谢。
以下自定义函数将查询所有产品 ID 和 sku (标准对象) 使用来自 sku 摘录的简单 SQL 查询(如ART_
):
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->prefix}posts p
INNER JOIN {$wpdb->prefix}postmeta 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>';
}