获取具有相似 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

如何从 Woocommerce 中的订单项中获取产品 sku [重复]

sql 获取WooCommerce按产品/邮政ID或产品SKU获取订单ID

在发布产品之前,在 Woocommerce 中强制 SKU

WooCommerce SKU 字符限制

php Woocommerce - 隐藏SKU