<span class="sku_wrapper"><?php _e( 'SKU:', 'woocommerce' ); ?> <span class="sku" itemprop="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></span>.</span>
<?php endif; ?>
<span class="sku_wrapper">Цена за: <span class="sku" itemprop="sku"><?php echo (get_post_meta($post->ID, 'unit', true)); ?></span>.</span>
add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 );
function custom_price_html( $price, $product ){
$meta_values = get_post_meta( get_the_ID(), 'unit',true );
$price = $price .'/'. $meta_values;
return apply_filters( 'woocommerce_get_price', $price );
}
а как сделать тоже самое только для вариативного товара?Вставляем следующий код в functions.php вашей темы все что выше я написал сделать убираем
этого кода достаточно
Код:add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 ); function custom_price_html( $price, $product ){ $meta_values = get_post_meta( get_the_ID(), 'unit',true ); $price = $price .'/'. $meta_values; return apply_filters( 'woocommerce_get_price', $price ); }
но и не забываем создавать произвольное поля для каждого товара с именем unit
а как сделать тоже самое только для вариативного товара? подскажите пожалуйстаВставляем следующий код в functions.php вашей темы все что выше я написал сделать убираем
этого кода достаточно
Код:add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 ); function custom_price_html( $price, $product ){ $meta_values = get_post_meta( get_the_ID(), 'unit',true ); $price = $price .'/'. $meta_values; return apply_filters( 'woocommerce_get_price', $price ); }
но и не забываем создавать произвольное поля для каждого товара с именем unit
Код:add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 ); function custom_price_html( $price, $product ){ $meta_values = get_post_meta( get_the_ID(), 'unit',true ); $price = $price .'/'. $meta_values; return apply_filters( 'woocommerce_get_price', $price ); }
но и не забываем создавать произвольное поля для каждого товара с именем unit
Добрый день у меня стоит тема Bazar я никак не могу найти где в шаблоне у меня значение сколько товаров осталось на складе ,что бы туда добавить произвольное поле ,нужно для того что я продаю плитку и она продается на кв/м ,а стандартно там указано -например (12 в наличие ),а мне нужно что бы было 12кв/м в наличие ,как сделать так с помощи произвольных полей ? в каком именно файле хранится это значиние ?А вы не пробовали использовать Произвольные поля?
Например задаем имя произвольного поля "unit" далее для каждого товара задаем параметр характеризующий единицу измерения, например: куб. м или кв. м.
Приведу пример как вставить это поле например в блок с Категорией и Метками на странице товара.
Для этого находит в плагине Woocommerce файл meta.php вот его путь templates/single-product/meta.php в нем необходимо найти такие строки:
Код:<span class="sku_wrapper"><?php _e( 'SKU:', 'woocommerce' ); ?> <span class="sku" itemprop="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></span>.</span> <?php endif; ?>
сразу после нее вставляем следующее:
Код:<span class="sku_wrapper">Цена за: <span class="sku" itemprop="sku"><?php echo (get_post_meta($post->ID, 'unit', true)); ?></span>.</span>
и не забудьте отредактированный файл meta.php скопировать в вашу тему чтобы не потерять при обновлении
путь должен быть такой ВАША_ТЕМА/woocommerce/single-product/meta.php
Чем Вам указанный выше плагин https://wordpress.org/plugins/woocommerce-unit-of-measure/#description не подходит?Как сейчас можно сделать какие есть расширения?
## Изменение валюты рубля на ₽/м² для товаров категорий Ламинат, Кварцвиниловая плитка, Подложка
add_filter('woocommerce_currency_symbol', 'wpcraft_change_currency_symbol_in_cat', 10, 2);
function wpcraft_change_currency_symbol_in_cat( $currency_symbol, $currency ) {
global $post, $product;
if ( has_term( ['laminat', 'kvarcvinilovaya-plitka', 'podlozhka'], 'product_cat' ) ) { // 'laminat' это слаг категории
switch( $currency ) {
case 'RUB': $currency_symbol = ' ₽/м²';
break;
}
}
return $currency_symbol;
}
## end Изменение валюты
Отлично решение, спасибо!Возможно еще подойдет изменение валюты в зависимости от категории
PHP:## Изменение валюты рубля на ₽/м² для товаров категорий Ламинат, Кварцвиниловая плитка, Подложка add_filter('woocommerce_currency_symbol', 'wpcraft_change_currency_symbol_in_cat', 10, 2); function wpcraft_change_currency_symbol_in_cat( $currency_symbol, $currency ) { global $post, $product; if ( has_term( ['laminat', 'kvarcvinilovaya-plitka', 'podlozhka'], 'product_cat' ) ) { // 'laminat' это слаг категории switch( $currency ) { case 'RUB': $currency_symbol = ' ₽/м²'; break; } } return $currency_symbol; } ## end Изменение валюты