下面是Update WooCommerce product stock from csv

如果SKU不是产品SKU而是产品变体SKU,我如何修改代码?那么,如果我只知道产品变体的SKU,我该如何更新该产品变体的库存?没有WC_GET_VARIANT_ID_BY_SKU...

推荐答案

数据存储函数判断函数中的Product和Product变体,如下所示.

/**
 * Return product ID based on SKU.
 *
 * @since 3.0.0
 * @param string $sku Product SKU.
 * @return int
 */
public function get_product_id_by_sku( $sku ) {
    global $wpdb;

    // phpcs:ignore WordPress.VIP.DirectDatabaseQuery.DirectQuery
    $id = $wpdb->get_var(
        $wpdb->prepare(
            "
            SELECT posts.ID
            FROM {$wpdb->posts} as posts
            INNER JOIN {$wpdb->wc_product_meta_lookup} AS lookup ON posts.ID = lookup.product_id
            WHERE
            posts.post_type IN ( 'product', 'product_variation' )
            AND posts.post_status != 'trash'
            AND lookup.sku = %s
            LIMIT 1
            ",
            $sku
        )
    );

    return (int) apply_filters( 'woocommerce_get_product_id_by_sku', $id, $sku );
}

因此,该函数也可以用于各种变化.

wc_get_product_id_by_sku($sku);-如果将变体SKU传递给函数,它将返回变体ID.

Php相关问答推荐

PHP:从数组中获取唯一的数字组合

使用正则表达式搜索两个子字符串(没有重叠/共享字符)

如何显示每个分类的当前术语的帖子中包含的前20个标签,不包括标签分类

在WooCommerce我的帐户部分添加带有自定义链接的自定义菜单项

将日期数组排序为年->;月

Laravel区分大小写搜索

WooCommerce中特定付款方式的变更订单预留库存时间

HTTPPost请求在从php脚本调用时返回404,但在从node.js脚本调用时有效.终结点有效

PHP 8.2 弃用日志(log)存储在 Laravel 10.22.0 中的哪里?

根据小计向 WooCommerce Checkout 添加佣金

使用动态地址和动态文件创建zip文件并获取zip文件链接

安装 Herd 并返回 Valet 后为 502

htaccess Rewriterule 无法以任何方式工作

使用现有的htaccess的PHP路由脚本

WooCommerce单个产品页面上启用额外选项卡的产品元框字段

如何通过工厂为点列制作一个假坐标?

使用 PHP 正则表达式从仅包含具有现有顺序的顶级标签的 XML 文档中搜索和创建数组

使用 Eloquent 更新现有的外键值

使用 GROUP_CONCAT 规范化/转置来自查询的数据

使用 splat 运算符时按引用传递 (...)