php 显示woocommerce产品的变化和库存数量上的产品管理页面

x8diyxa7  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(121)

我一直试图添加一个变量的数量到以下代码没有成功。除了代码中的SKU外,还可以尝试在edit.php?>post_type=product页面上显示每个产品变体的剩余库存数量,而不必进入每个产品查看此数据。

add_filter( 'woocommerce_product_get_sku', 'bbloomer_variable_product_skus_admin', 9999, 2 );

function bbloomer_variable_product_skus_admin( $sku, $product ) {
   if ( ! is_admin() ) return $sku;
   global $post_type, $pagenow;
   if ( 'edit.php' === $pagenow && 'product' === $post_type ) {
      if ( $product->is_type('variable') ) {
         $sku = '';
         foreach ( $product->get_children() as $child_id ) {
            $variation = wc_get_product( $child_id ); 
            if ( $variation && $variation->exists() ) $sku .= '(' . $variation->get_sku() . ') ';
         }
      }
   }
   return $sku;
}

字符串
代码来自a post on Business Bloomer by Rodolfo Melogli

pkmbmrz7

pkmbmrz71#

您使用的代码仅用于筛选sku列。这将在您获取此代码的文章中明确提到。
要筛选数量列,您应该使用另一个筛选器:woocommerce_admin_stock_html
试试下面的代码:

function custom_woocommerce_admin_stock_html( $stock_html, $product ) {
    if ( $product->is_type('variable') ) {
    foreach ( $product->get_children() as $child_id ) {
            $variation = wc_get_product( $child_id ); 
            if ( $variation && $variation->exists() ) {
                $var_qty .= '(' .$variation->get_sku() .': ' . $variation->get_stock_quantity() . ') ';
            }
         }
            $stock_html = '<p>' .$var_qty . '</p>';      

     }

    return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'custom_woocommerce_admin_stock_html', 10, 2 );

字符串

相关问题