如何从woocommerce获取文章的库存数量?
Posted
技术标签:
【中文标题】如何从woocommerce获取文章的库存数量?【英文标题】:How to get the stock quantity of an article from 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()”。
我做错了什么? 感谢您的帮助。
【问题讨论】:
【参考方案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
【讨论】:
您好,欢迎来到 ***!如果你能对你的代码做了一些解释,那总是很好的,这样其他人在复制它时可以对他们正在做的事情有所了解。 获取woocommerce单品的产品数量 我知道这是一个旧答案,但问题是在购物车中获取产品的库存,而不是数量。以上是关于如何从woocommerce获取文章的库存数量?的主要内容,如果未能解决你的问题,请参考以下文章