WooCommerce:显示普通页面或帖子上给定产品ID的库存数量

时间:2017-06-21 21:05:49

标签: php wordpress woocommerce shortcode product-quantity

我正在尝试在正常的WordPress页面或帖子中显示WoCommerce页面之外的给定产品ID的产品数量。

我假设您将一些代码粘贴到functions.php中,然后将一个代码段放入帖子或页面中 我真的在这里苦苦挣扎,到目前为止,我发现只有半生不熟的答案,但这些答案对我来说都不起作用......

如何在普通的Wordpress页面或帖子上回显WooCommerce产品ID的库存数量?

1 个答案:

答案 0 :(得分:5)

最好的方法是制作自定义短代码功能,即输出给定产品ID的产品数量。

此短代码功能的代码:

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 ) return $stock_quantity;

    }

    add_shortcode( 'product_qty', 'show_specific_product_quantity' );

}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

<强> USAGE

  

短代码使用 ID 参数(目标产品ID)。

1)在WordPress页面或帖子内容中,只需在文本编辑器中粘贴此短代码即可显示给定产品ID的库存数量(此处ID为 37 ):

[product_qty id="37"]

2在任何PHP代码(示例)中:

echo '<p>Product quantity is: ' . do_shortcode( '[product_qty id="37"]' ) .'</p><br>';

3在HTML / PHP页面中(示例):

<p>Product quantity is: <?php echo do_shortcode( '[product_qty id="37"]' ); ?></p>
  

类似: Display custom stock quantity conditionally via shortcode on Woocommerce