加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Variations Sku没有出现WordPress / woocommerce

发布时间:2020-12-13 22:24:12 所属栏目:PHP教程 来源:网络整理
导读:我已经建立了一个woocommerce商店,我添加了一些产品的变化.每个变体都有自己的sku编号,但由于某种原因,它们没有出现在产品概述面板上.有什么方法我可以添加它们或有人可以告诉我正确的方向去. 此外,如果我尝试搜索变体,是不是显示产品位于.我必须注册变种sku
我已经建立了一个woocommerce商店,我添加了一些产品的变化.每个变体都有自己的sku编号,但由于某种原因,它们没有出现在产品概述面板上.有什么方法我可以添加它们或有人可以告诉我正确的方向去.
此外,如果我尝试搜索变体,是不是显示产品位于.我必须注册变种sku吗?这是否默认与woocommerce一起出现?

谢谢!

enter image description here

这就是我设置变体的方式:

enter image description here

解决方法

好吧,鉴于没有人带来aswer,我不得不自己挖一点:D
所以这是我目前找到的解决方案.

在文件类-wc-admin-post-types.php上,它位于woocommerce / includes / admin

您必须在第277行修改一些代码

case 'sku' :

    $type = (get_class($the_product));

    if( $type == 'WC_Product_Variable' ){

        $available_variations = $the_product->get_available_variations();

        echo '<strong> Variations: </strong>' . count($available_variations) . '<br><br>';

        for ($i = 0; $i <  count($available_variations); $i++ ) {

            echo ($available_variations[$i]['sku']) . '<br>';
        }
    }
    else {
        echo $the_product->get_sku() ? $the_product->get_sku() : '<span class="na">&ndash;</span>';
    }
break;

现在你可以得到这样的东西:
如果您的产品有变化,您将显示变化的数量和所有可用的sku’s,如果不是变量产品,您将只显示sku.

现在我想我也可能会修改库存列并显示每一个库存量.

希望这有助于其他人.并感谢那些试图帮助的人!

enter image description here

好的…所以我添加了对库存的支持,与以前的代码没什么不同……所以现在在第344行的同一文档中,你可以添加它.

case 'is_in_stock' :

            $type = (get_class($the_product));

            if( $type == 'WC_Product_Variable' ){

                $available_variations = $the_product->get_available_variations();

                echo '<strong> Variations stock: </strong> <br><br>';

                for ($i = 0; $i <  count($available_variations); $i++ ) {


                    if ( $available_variations[$i]['is_in_stock'] == 0 ) {
                        echo '<mark class="outofstock">' . __( 'Out of stock','woocommerce' ) . '</mark>';
                    }else {

                        echo '<mark class="instock">' . __( 'In stock','woocommerce' ) . '</mark>';

                    }
                    if ($available_variations[$i]['variation_is_active']) {
                        echo ' &times; ' . $available_variations[$i]['max_qty'] . '<br>' ;
                    }
                }
            } else {

                if ( $the_product->is_in_stock() ) {
                    echo '<mark class="instock">' . __( 'In stock','woocommerce' ) . '</mark>';
                } else {
                    echo '<mark class="outofstock">' . __( 'Out of stock','woocommerce' ) . '</mark>';
                }

                if ( $the_product->managing_stock() ) {
                    echo ' &times; ' . $the_product->get_total_stock() ;

                }
            }
            break;

你得到这样的东西:

enter image description here

有关更多信息,请查看以下链接.
?
简历:这种方法可能会遇到一些性能问题……请注意您拥有多少产品变体.

https://github.com/woothemes/woocommerce/issues/9396

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读