Как получить количество товара на складе из woocommerce?

У меня возникла небольшая проблема с правильным отображением количества на складе.

вот цикл:

 <?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 ()».

Что я делаю не так? Спасибо за любую помощь.


person Bill Bronson    schedule 27.11.2013    source источник


Ответы (3)


get_sku — это метод класса продукта, а не глобальная функция:

$product->get_sku()

Обратите внимание, что это просто получит код запаса, а не фактическое количество, возможно, вы хотите:

$product->get_stock_quantity()

РЕДАКТИРОВАТЬ, чтобы уточнить:

<p class="stock-m13"><?php echo $product->get_stock_quantity(); ?></p>
person Steve    schedule 27.11.2013
comment
Возможно, вы не видели мою правку, вам следует использовать $product-›get_stock_quantity(); - person Steve; 27.11.2013
comment
хорошо, кажется, я все еще делаю что-то не так. ошибок больше нет, но количество на складе не отображается... get_stock_quantity(get_the_ID()); - person Bill Bronson; 27.11.2013
comment
@BillBronson отредактировал, чтобы уточнить, не переходите в get_the_ID, это метод без параметров. - person Steve; 27.11.2013
comment
и как проверить наличие на складе? - person Muhammad Bilal; 05.02.2014
comment
@MuhammadBilal if($product-›get_stock_quantity() › 0){echo 'доступно';} - person Steve; 05.02.2014

Я использую следующим образом.

     <?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); 
     ?>

Надеюсь, это поможет. Спасибо

person Sumith Harshan    schedule 06.06.2015

Просто добавьте эти строки в ваш 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
    } 
  } 
person meer panhyar    schedule 07.10.2015
comment
Привет и добро пожаловать в StackOverflow! Всегда приятно, если вы можете объяснить, что делает ваш код, чтобы другие, глядя на него, могли получить некоторое представление о том, что они делают, когда копируют его. - person Jakob Runge; 07.10.2015
comment
чтобы получить количество продукта одного продукта из woocommerce - person meer panhyar; 07.10.2015
comment
я знаю, что это старый ответ, но вопрос заключался в том, чтобы получить запас продукта, а не его количество в корзине. - person pcarvalho; 05.06.2016