Я пытаюсь вставить единицу за количеством в поле woocomerce. Это может быть легко достигнуто на странице продукта. Для этого я использовал мета-поле post и назвал его в файле отображения продуктов woocommerce (wp-content \ plugins \ woocommerce \ templates \ global \ amount-input.php) со следующим кодом.
<?php echo get_post_meta(get_the_ID(), 'wc_price_per_unit_key', true);?>
Теперь я хочу показать его на странице корзины. Там это не работает, потому что get_the_id () там не работает. Поэтому я попытался передать идентификатор сообщения со страницы cart.php.
$product_quantity = woocommerce_quantity_input( array(
'input_name' => "cart[{$cart_item_key}][qty]",
'input_value' => $cart_item['quantity'],
'max_value' => $_product->backorders_allowed() ? '' : $_product->get_stock_quantity(),
'min_value' => '0',
'id' => $product_id,
), $_product, false );
И я добавил id
элемент в woocommerce_quantity_input
по этому коду.
function woocommerce_quantity_input( $args = array(), $product = null, $echo = true ) {
if ( is_null( $product ) ) {
$product = $GLOBALS['product'];
}
$defaults = array(
'input_name' => 'quantity',
'input_value' => '1',
'max_value' => apply_filters( 'woocommerce_quantity_input_max', '', $product ),
'min_value' => apply_filters( 'woocommerce_quantity_input_min', '', $product ),
'step' => apply_filters( 'woocommerce_quantity_input_step', '1', $product ),
'id' => '1'
);
if ( is_null ( $args['id'] ) ) {
echo 'asd';
}
В прошлом я echo 'asd'
чтобы проверить это id
аргумент приходит в woocommerce_quantity_input
функция но asd
напечатано доказательство того, что массив не читает элемент.
Решение найдено
Я редактировал файл cart.php, который был в wp-content\plugins\woocommerce\templates\cart
это было отражено \wp-content\themes\testing\woocommerce\cart
, После редактирования правого файла корзины проблема решена.
Новый выпуск
Может кто-нибудь направить меня, как добиться этого в подходе пользовательского плагина. Это редактирование жесткого кода, которое я делаю в файлах woocomerce. Можно ли с помощью любого фильтра поместить код в файл cart.php и так далее.
Задача ещё не решена.
Других решений пока нет …