【问题标题】:Remove Quantity number before stock status in Woocommerce?在 Woocommerce 中的库存状态之前删除数量编号?
【发布时间】:2018-04-17 08:46:44
【问题描述】:

我在my Woocommerce site 中使用名为WC Product Stock Status 的插件,并希望在库存状态之前删除编号。我试图查看数量编号是否设置在不同的 CSS 类中,但似乎都在一个类中,所以通过 CSS 隐藏看起来是不可能的。

.woocommerce div.product p.stock
{font-size: .92em;}
.woocommerce div.product .s_in_stock_color {
color:#77a464;
}

不幸的是,这个插件已经过时并且看起来不再支持作者,所以在插件页面上提问是没有用的。所以我只想删除库存数量,并保留标签,如下图所示:

我检查了代码,发现该表是在 class-variable-status.php 文件中获取此数据生成的:

 public function print_stock_status(){
    global $product; 

    if($product->is_type( 'variable' ) ) {
        $childrens = $product->get_children();
        $values = array();
        foreach($childrens as $child){
            $prod = wc_get_product($child);
            $search_replace = array();
            $search_replace['%formatted_name%'] = $prod->get_formatted_name();
            $search_replace['%name%'] = wc_get_formatted_variation($prod);
            $search_replace['%sku%'] = $prod->get_sku();
            $search_replace['%id%'] = $prod->get_id();

            $format = wc_pstocks_option('variable_title');
            $format = str_replace(array_keys($search_replace),array_values($search_replace),$format);
            $status = $prod->get_availability();;
            $status['title'] = $format;
            $status['ID'] = $child;
            $status['formatted_name'] = $prod->get_formatted_name();
            $status['name'] = wc_get_formatted_variation($prod);
            $status['sku'] = $prod->get_sku();
            $status['id'] = $prod->get_id(); 
            $values[$child] = $status; 
        } 

        $this->generate_table($values);
    } 
}
 public function generate_table($values){
    wc_pstocks_get_template('stock-variation- 
table.php',array("args"=>$values));
}

这是代码 来自 stock-variation- table.php

<?php

    foreach($args as $arr){ 
        $text = empty($arr['availability']) ? '' : '<p class="stock '.esc_attr($arr['class']).'">'.$arr['availability'].'</p>'; 
        echo '<tr>';
        echo '<td>'.$arr['title'].'</td>';
        echo '<td>'.$text.'</td>';
        echo '</tr>'; 
    }

?>

我认为需要在这一行中更新一些内容:

            $text = empty($arr['availability']) ? '' : '<p class="stock '.esc_attr($arr['class']).'">'.$arr['availability'].'</p>'; 

任何帮助如何删除它?

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    我能够修复自己。这就是我所做的:

    1. 从 Woocommerce 设置转到 Products>Inventory 并进行设置:

    现在显示状态,但没有数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2016-11-16
      • 1970-01-01
      • 2018-06-12
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多