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

WooCommerce: Display stock quantity for a given product ID on normal Pages or Posts

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

我假设您将一些代码粘贴到 functions.php,然后将代码片段放入 post 或页面。
我真的在这里很挣扎,到目前为止我只找到了半生不熟的答案,其中 none 对我有用...

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

最好的方法是制作一个自定义短代码函数,它将输出给定产品 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 文件或任何插件文件。


用法

The shortcode works with an ID argument (the targeted product ID).

1) 在 WordPress 页面或 Post 内容中,只需将此短代码粘贴到文本编辑器中即可显示给定产品 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>

Similar: