在 Woocommerce 存档页面中显示所有产品类型的库存可用性

埃尔文·马纳朗

我正在使用此代码显示产品库存:

    add_action( 'woocommerce_after_shop_loop_item', 'display_variable_product_stock_quantity', 10 );
function display_variable_product_stock_quantity(){
    wc_get_variable_product_stock_quantity( 'echo_html' );
} 

function show_stock() {
global $product;
if ( $product->stock ) { // if manage stock is enabled 
if ( ! $product->managing_stock() && ! $product->is_in_stock() )
        echo '';
}
if ( number_format($product->stock,0,'','') > 0 ) { // if stock is low
echo '<div class="remainingpc" style="text-align:center;"><font color="red"> ' . number_format($product->stock,0,'','') . ' Pcs Left</font></div>';
} 
else {
echo '<div class="remaining" style="text-align:center;"><font color="red">Out of Stock</font></div>'; 
}
}

add_action('woocommerce_after_shop_loop_item','show_stock', 10);

如果产品是变量,我使用此答案代码来显示库存可用性:
在 Woocommerce 中获取变量产品的所有变体的总库存

如何在单个条件函数中合并这些代码?

例如。如果产品是简单产品,则不会显示可变产品的其他代码。

LoicTheAztec

以下将处理 woocommerce 存档产品页面中所有产品类型的库存可用性显示为商店。

要处理变量以外的其他产品类型的库存可用性显示,您可以改用专用函数wc_get_stock_html(),这将简化代码。

add_action( 'woocommerce_after_shop_loop_item', 'wc_loop_get_product_stock_availability_text', 10 );
function wc_loop_get_product_stock_availability_text() {
    global $wpdb, $product;

    // For variable products
    if( $product->is_type('variable') ) {

        // Get the stock quantity sum of all product variations (children)
        $stock_quantity = $wpdb->get_var("
            SELECT SUM(pm.meta_value) FROM {$wpdb->prefix}posts as p
            JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
            WHERE p.post_type = 'product_variation'
            AND p.post_status = 'publish' AND p.post_parent = '".get_the_id()."'
            AND pm.meta_key = '_stock' AND pm.meta_value IS NOT NULL
        ");

        if ( $stock_quantity > 0 ) {
            echo '<p class="stock in-stock">'. sprintf( __("%s in stock", "woocommerce"), $stock_quantity ).'</p>';
        } else {
            if ( is_numeric($stock_quantity) )
                echo '<p class="stock out-of-stock">' . __("Out of stock", "woocommerce") . '</p>';
            else
                return;
        }
    }
    // Other products types
    else {
        echo wc_get_stock_html( $product );
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Woocommerce 3 中检查产品库存可用性

来自分类Dev

如何从当前的WooCommerce产品类别中获取所有产品?

来自分类Dev

隐藏WooCommerce目录中具有特定库存状态的所有产品

来自分类Dev

在页面上显示 Woocommerce 中低于特定价格的所有产品

来自分类Dev

通过WooCommerce按类别显示所有产品

来自分类Dev

woocommerce所有产品尺寸的列表

来自分类Dev

Woocommerce产品类型简码

来自分类Dev

显示为WooCommerce产品设置的所有产品属性的简码

来自分类Dev

从所有产品中获取 Woocommerce 中特定产品属性的术语名称数组

来自分类Dev

在WooCommerce结帐页面上显示产品类别

来自分类Dev

在 Woocommerce 中,如何查找某个产品是交叉销售的所有产品?

来自分类Dev

Wordpress Woocommerce更改所有产品为缺货

来自分类Dev

WooCommerce我的帐户-下载:列出所有产品

来自分类Dev

获取woocommerce类别的所有产品ID

来自分类Dev

SQL查询从woocommerce中选择所有产品

来自分类Dev

从WooCommerce管理中的所有产品中删除销售价格

来自分类Dev

从WooCommerce管理中的所有产品中删除销售价格

来自分类Dev

在woocommerce产品类型中隐藏选项选择项

来自分类Dev

在woocommerce产品类型中隐藏选项选择项

来自分类Dev

如何在 angular 4 中实现 woocommerce api 以列出所有产品

来自分类Dev

在Woocommerce上处理产品类型

来自分类Dev

Woocommerce“存档页面”产品标题,带有链接

来自分类Dev

从子类别术语定位到WooCommerce产品类别存档页面

来自分类Dev

如何在WooCommerce产品说明中显示所有图像

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

WooCommerce - 将所有产品标记为非特色产品

来自分类Dev

Woocommerce-从商店页面删除可用的产品库存编号

来自分类Dev

如何使用代码模板中的特定标签过滤woocommerce网店中的所有产品?

Related 相关文章

  1. 1

    在 Woocommerce 3 中检查产品库存可用性

  2. 2

    如何从当前的WooCommerce产品类别中获取所有产品?

  3. 3

    隐藏WooCommerce目录中具有特定库存状态的所有产品

  4. 4

    在页面上显示 Woocommerce 中低于特定价格的所有产品

  5. 5

    通过WooCommerce按类别显示所有产品

  6. 6

    woocommerce所有产品尺寸的列表

  7. 7

    Woocommerce产品类型简码

  8. 8

    显示为WooCommerce产品设置的所有产品属性的简码

  9. 9

    从所有产品中获取 Woocommerce 中特定产品属性的术语名称数组

  10. 10

    在WooCommerce结帐页面上显示产品类别

  11. 11

    在 Woocommerce 中,如何查找某个产品是交叉销售的所有产品?

  12. 12

    Wordpress Woocommerce更改所有产品为缺货

  13. 13

    WooCommerce我的帐户-下载:列出所有产品

  14. 14

    获取woocommerce类别的所有产品ID

  15. 15

    SQL查询从woocommerce中选择所有产品

  16. 16

    从WooCommerce管理中的所有产品中删除销售价格

  17. 17

    从WooCommerce管理中的所有产品中删除销售价格

  18. 18

    在woocommerce产品类型中隐藏选项选择项

  19. 19

    在woocommerce产品类型中隐藏选项选择项

  20. 20

    如何在 angular 4 中实现 woocommerce api 以列出所有产品

  21. 21

    在Woocommerce上处理产品类型

  22. 22

    Woocommerce“存档页面”产品标题,带有链接

  23. 23

    从子类别术语定位到WooCommerce产品类别存档页面

  24. 24

    如何在WooCommerce产品说明中显示所有图像

  25. 25

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  26. 26

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  27. 27

    WooCommerce - 将所有产品标记为非特色产品

  28. 28

    Woocommerce-从商店页面删除可用的产品库存编号

  29. 29

    如何使用代码模板中的特定标签过滤woocommerce网店中的所有产品?

热门标签

归档