
Добрый день. Пытаюсь настроить возможность указывать разные единицы измерения для разных товаров.
Сейчас это работает по следующему принципу:
1) создал кастомную переменную "unit" и вывел поле в каждом товаре. Соотвественно, в этом товаре есть возможность указать любой текст и он потом подставляется после "руб/".
2) вывожу в товары следующим образом:
add_filter( 'woocommerce_get_price_html' , 'custom_price_units', 10, 2);
function custom_price_units($price, WC_Product $product) {
$term = get_queried_object();
$unit = get_field('custom_units',$term);
if (!empty($unit)){
$price .= '/' . $unit ;
}
return $price;
}
Но есть проблема! Эти единицы измерения подставляются во все товары из блока "похожие товары" на странице конкретного товара. То есть, например, мы находимся в карточке товара Чай листовой и через настройки ему были указаны единицы измерения "грамм". Эти граммы подставили к чаю - все хорошо. Но в блоке "похожие товары" еще располагаются чайники. У них кастомные единицы измерения не проставлены, но для них все равно отображается "грамм". Но если я перейду в карточку товара Чайник, то там уже ничего не отображается.
Вообщем есть ощущение, что этот код дописывает единицы измерения не к конкретному товару, а к любым товарам, находящимся на странице. Может кто знает, как исправить?
Сейчас это работает по следующему принципу:
1) создал кастомную переменную "unit" и вывел поле в каждом товаре. Соотвественно, в этом товаре есть возможность указать любой текст и он потом подставляется после "руб/".
2) вывожу в товары следующим образом:
add_filter( 'woocommerce_get_price_html' , 'custom_price_units', 10, 2);
function custom_price_units($price, WC_Product $product) {
$term = get_queried_object();
$unit = get_field('custom_units',$term);
if (!empty($unit)){
$price .= '/' . $unit ;
}
return $price;
}
Но есть проблема! Эти единицы измерения подставляются во все товары из блока "похожие товары" на странице конкретного товара. То есть, например, мы находимся в карточке товара Чай листовой и через настройки ему были указаны единицы измерения "грамм". Эти граммы подставили к чаю - все хорошо. Но в блоке "похожие товары" еще располагаются чайники. У них кастомные единицы измерения не проставлены, но для них все равно отображается "грамм". Но если я перейду в карточку товара Чайник, то там уже ничего не отображается.
Вообщем есть ощущение, что этот код дописывает единицы измерения не к конкретному товару, а к любым товарам, находящимся на странице. Может кто знает, как исправить?