在Woocommerce上通过简码有条件地显示自定义库存数量

时间:2018-12-19 17:09:17

标签: php woocommerce product shortcode stock

我正在使用WooCommerce: Display stock quantity for a given product ID on normal Pages or Posts令人惊叹的答案代码,该代码可通过短代码在任何页面或帖子中显示WooCommerce产品的产品数量。

我只想显示库存中最多5种产品的准确数量,而对于6种或更多数量的产品,显示“大于5”。

可以通过修改此代码来做到吗?

2 个答案:

答案 0 :(得分:2)

以下应该可以解决问题:

if( !function_exists('show_specific_product_quantity') ) {

    function show_specific_product_quantity( $atts ) {

        // Shortcode Attributes
        $atts = shortcode_atts(
            array(
                'id' => '', // Product ID argument
            ),
            $atts,
            'product_qty'
        );

        if( empty($atts['id'])) return;

        $stock_quantity = 0;

        $product_obj = wc_get_product( intval( $atts['id'] ) );
        $stock_quantity = $product_obj->get_stock_quantity();

        if( $stock_quantity > 0 && $stock_quantity <= 5 ) 
            return $stock_quantity;
        elseif( $stock_quantity > 5 ) 
            return __("More than 5", "woocommerce");

    }
    add_shortcode( 'product_qty', 'show_specific_product_quantity' );
}

代码进入您的活动子主题(或活动主题)的function.php文件中。应该可以。

原始答案:WooCommerce: Display stock quantity for a given product ID on normal Pages or Posts

答案 1 :(得分:-2)

您可以尝试添加到此行

if( $stock_quantity > 0 ) return $stock_quantity;

尝试:

$overQty = "More than 5";

if( $stock_quantity > 5 ){ return $overQty } else { return $stock_quantity };

它应该工作