Добавить единицу количества в количестве-input.php для Woocommerce - PullRequest
0 голосов
/ 06 января 2019

У меня есть настраиваемое поле 'woocommerce_product_rate' для продукта woocommerce, предназначенного для добавления после поля ввода количества, поэтому вместо простого отображения, например, "10", оно может отображать "10 бананов". Я пытаюсь получить идентификатор продукта в количестве-input.php, но у меня возникли трудности. Я попытался получить к нему доступ через глобальный «$ product» с помощью $ product-> get_the_id (), но это выдает ошибку php. Попытка получить доступ к $ post global тоже не работает.

/**
* Product quantity inputs
*/

global $product;
$id = $product->get_id();
$unit = get_field('woocommerce_product_rate', $id);
<?php if( $unit !== '') {echo $unit . " ";} ?>

Буду признателен за любые предложения о том, как обойти эту проблему, спасибо.

1 Ответ

0 голосов
/ 31 июля 2019

Direct global $product или global $post не будет работать в глобальных шаблонах. Вам нужно будет передать идентификатор продукта в качестве параметра из файла woocommerce / cart / cart.php , в который добавляется фильтр:

$product_quantity = woocommerce_quantity_input( array(
                                'input_name'   => "cart[{$cart_item_key}][qty]",
                                'input_value'  => $cart_item['quantity'],
                                'max_value'    => $_product->get_max_purchase_quantity(),
                                'min_value'    => '0',
                                'product_name' => $_product->get_name(),
                                'product_id' => $product_id
                            ), $_product, false );

echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item );

И тогда идентификатор продукта будет доступен в глобальном шаблоне. В вашем случае woocommerce / cart / amount-input.php вы можете получить доступ к идентификатору продукта, используя $args['product_id']

...