产品小部件中的WooCommerce库存状态

时间:2017-05-11 02:20:39

标签: php wordpress woocommerce product stock

我有一位客户希望在未来的网站上显示产品供应状态。我们知道您可以在单个产品页面中看到状态(即:库存中有5个),并且可以在商店归档和类别页面中显示它。但是,我找不到可以在产品小部件中显示库存状态的解决方案。

这可以实现吗?

我查看了content-widget-product.php模板并尝试添加:

<?php echo wp_kses_post( $availability ); ?>

但它不起作用。

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:2)

在下面找到模板 content-widget-product.php (产品小部件)的WooCommerce源代码,并在最后进行一些自定义,以获取库存状态:

<?php
/**
 * ... / ...
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 2.5.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
global $product; ?>

<li>
    <a href="<?php echo esc_url( $product->get_permalink() ); ?>">
        <?php echo $product->get_image(); ?>
        <span class="product-title"><?php echo $product->get_name(); ?></span>
    </a>
    <?php if ( ! empty( $show_rating ) ) : ?>
        <?php echo wc_get_rating_html( $product->get_average_rating() ); ?>
    <?php endif; ?>
    <?php echo $product->get_price_html(); ?>
    <?php 
        // Compatibility for WC versions from 2.5.x to 3.0+
        if ( method_exists( $product, 'get_stock_status' ) ) {
            $stock_status = $product->get_stock_status(); // For version 3.0+
        } else {
            $stock_status = $product->stock_status; // Older than version 3.0
        }
        echo ' '.$stock_status;
    ?>
</li>

(此代码与WooCommerce版本2.5.x兼容至3.0 +)

此代码经过测试并有效。

  

您可以使用WC_Product get_stock_quantity() method显示产品库存数量

官方文件:WC_Product method get_stock_status()

答案 1 :(得分:1)

我过去曾用过这个来获取股票状态:

get_post_meta($ product-&gt; ID,&#39; _stock_status&#39;,true);