【问题标题】:How to get the stock quantity of an article from woocommerce?如何从woocommerce获取文章的库存数量?
【发布时间】:2013-12-13 05:02:45
【问题描述】:

我在正确显示库存数量时遇到了一点问题。

循环如下:

 <?php
 /**
 * Loop Price
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

global $product;
?>

<?php if ( $price_html = $product->get_price_html() ) : ?>
<span class="price">PREIS:<span class="amount"><?php echo $price_html; ?></span></span><p class="stock-m13"><?php get_sku(get_the_ID()); ?></p>
<?php endif; ?>

我想在 stock-m13 p 中向用户显示可用数量,但我只是遇到错误,例如“调用未定义函数 get_sku()”。

我做错了什么? 感谢您的帮助。

【问题讨论】:

    标签: php wordpress function woocommerce woothemes


    【解决方案1】:

    get_sku 是产品类的方法,不是全局函数:

    $product->get_sku()
    

    请注意,这只会获取库存代码,而不是实际数量,也许你想要:

    $product->get_stock_quantity()
    

    编辑澄清:

    <p class="stock-m13"><?php echo $product->get_stock_quantity(); ?></p>
    

    【讨论】:

    • 也许你没有看到我的编辑,你应该使用 $product->get_stock_quantity();
    • 好吧,看来我还是做错了什么。没有错误了,但是库存数量不会显示... get_stock_quantity(get_the_ID());
    • @BillBronson 编辑澄清,不要传入get_the_ID,它是一个无参数的方法。
    • 如何查询是否有货?
    • @MuhammadBilal if($product->get_stock_quantity() > 0){echo 'available';}
    【解决方案2】:

    我使用如下。

         <?php 
            global $product; 
            $numleft  = $product->get_stock_quantity(); 
            if($numleft==0) {
               // out of stock
                echo "There are no items available at this time."; 
            }
            else if($numleft==1) {
                echo "Only ".$numleft ." item left.";
            }
            else {
                echo "Only ".$numleft ." items left.";
            }
         ?>
    

    附加

    显示总售出物品。

         <?php 
           global $post;
           echo get_post_meta($post->ID, 'total_sales', true); 
         ?>
    

    希望对您有所帮助。 谢谢

    【讨论】:

      【解决方案3】:

      只需将这些行添加到您的 single.php // 您的模板中即可显示他的单个帖子 或者您想在单个产品页面上显示它

      只需在你的主题目录中的 single-product.php 中添加这些行

       global $woocommerce;
       foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
          $_product = $values['data'];
          if( get_the_ID() == $_product->id ) {
             echo 'Quantity Is'. $values['quantity'];// quantity of the product
          } 
        } 
      

      【讨论】:

      • 您好,欢迎来到 StackOverflow!如果你能对你的代码做了一些解释,那总是很好的,这样其他人在复制它时可以对他们正在做的事情有所了解。
      • 获取woocommerce单品的产品数量
      • 我知道这是一个旧答案,但问题是在购物车中获取产品的库存,而不是数量。
      猜你喜欢
      • 1970-01-01
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2021-11-09
      • 2015-04-02
      • 2018-03-31
      • 1970-01-01
      相关资源
      最近更新 更多