2015-10-13 90 views
4

我已经建立了woocommerce商店,我添加了一些变化的一些产品。每种版本都有自己的SKU编号,但出于某种原因,它们没有显示在产品概览面板上。有什么方法可以添加它们吗?或者有人可以告诉我正确的方向。 另外,如果我尝试搜索变体,则不会显示产品所在的位置。我需要注册变种sku吗?这是默认情况下使用woocommerce还是没有?变化Sku没有显示WordPress的/ woocommerce

谢谢!

enter image description here

这是我如何设定了变化:

enter image description here

+0

我认为你正在使用的SKU强调这就是为什么你的产品一点儿也不显示SKU的原因。 –

+0

Nop ...有_的产品,他们是简单的产品,他们出现..并有产品与_和没有它,作为可变的产品,他们不出现... –

+0

要求关闭的问题[标志]因为它没有处理代码问题。即使是询问问题,对于问题答复也不积极。 –

回答

1

好吧,考虑到没有人带着我去挖掘一下自己:D 所以这里是我找到的解决方案。

在其位于文件类-WC-管理-后types.php woocommerce /包括/管理

您必须修改行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的,如果不是一个可变的产品,你只会显示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

-1

只需删除IF条件检查从meta.php文件环绕HTML出SKU的。在第18行左右。

该文件位于WC plugins/templates文件夹中。

OR

刚刚从this -> $product->get_sku()从IF语句导致该问题。

它返回一个空字符串是为什么IF条件永远不会满足。

此外,发生这种情况的原因是,如果父产品没有SKU,并且只有您的变量,则会发生此问题。因此,我的评论顶部说明它返回空字符串,因为它试图从父母首先拉。换句话说,如果您已将SKU设置为父级和变量,则即使不修改我提到的代码,一切都可以正常工作。

+0

你正在谈论的meta.php文件是用于展示单个产品视图中的sku ......我说的是后端上面的图片。 Asyou可以看到单个procucts上只有一个ku出现,但变量产品上有一个空的空间。 –

+0

到目前为止,你已经做了什么来解决这个问题?我认为这与编写任何方式无关。可能是你正在跳过安装。正如您在WooCommerce [https://github.com/dreamyourcareer/woocommerce]中看到我们的贡献一样,我们不会遇到类似的问题。 –

+0

这个链接不会去任何 –