Я создал вариант типа продукта ПОЛЬЗОВАТЕЛЬСКИЙ, все работает хорошо в серверной и внешней части, единственная проблема в том, что в корзине покупок / деталях оформления заказа не отображается переменное название продукта, а также после покупки товара запас не уменьшается, Для переменной доступен 1 товар, после покупки оставьте 1 товар доступным, а не отсутствующим на складе.
Это используемый код.
* Шаг 1. Добавьте пользовательский тип продукта «термин» к другим жестко запрограммированным one
*/
add_filter( 'product_type_selector', 'misha_ticket_product_type' );
function misha_ticket_product_type( $product_types ){
$product_types[ 'ticket' ] = ' Ticket';
return $product_types;
}
/**
* Шаг 2. Каждый тип продукта имеет класс PHP WC_Product_{type}
*/
add_action( 'init', 'misha_create_ticket_product_class' );
add_filter( 'woocommerce_product_class', 'misha_load_ticket_product_class',10 ,2);
функция misha_create_ticket_product_class(){
класс WC_Product_Ticket расширяет WC_Product_Variable {
public function __construct( $product ) {
$this->product_type = 'ticket';
$this-> support[] = 'ajax_add_to_cart';
родитель::__construct( $product );
public function get_type() {
return 'ticket'; // чтобы вы могли использовать $product = wc_get_product(); $product->get_type()
add_filter('woocommerce_product_data_tabs','ticket_showtabs',10, 1);
function Ticket_showtabs($tabs) {
array_push($tabs['attribute']['class'], 'show_if_variable', 'show_if_ticket');
array_push($tabs['variations']['class'], 'show_if_ticket');
return $tabs;
}
function Producttype_custom_js() {
if ( 'product' != get_post_type() ) :
return;
endif;
?>
jQuery("body").bind("DOMNodeInserted", function() {
jQuery(this).find('.enable_variation').addClass('show_if_ticket').show();
});
Подробнее здесь: https://stackoverflow.com/questions/624 ... t-checkout
Пользовательский тип продукта с вариацией, название вариации не отображается в корзине/оформлении заказа. ⇐ Php
Кемеровские программисты php общаются здесь
1731276756
Anonymous
Я создал вариант типа продукта ПОЛЬЗОВАТЕЛЬСКИЙ, все работает хорошо в серверной и внешней части, единственная проблема в том, что в корзине покупок / деталях оформления заказа не отображается переменное название продукта, а также после покупки товара запас не уменьшается, Для переменной доступен 1 товар, после покупки оставьте 1 товар доступным, а не отсутствующим на складе.
Это используемый код.
* Шаг 1. Добавьте пользовательский тип продукта «термин» к другим жестко запрограммированным one
*/
add_filter( 'product_type_selector', 'misha_ticket_product_type' );
function misha_ticket_product_type( $product_types ){
$product_types[ 'ticket' ] = ' Ticket';
return $product_types;
}
/**
* Шаг 2. Каждый тип продукта имеет класс PHP WC_Product_{type}
*/
add_action( 'init', 'misha_create_ticket_product_class' );
add_filter( 'woocommerce_product_class', 'misha_load_ticket_product_class',10 ,2);
функция misha_create_ticket_product_class(){
класс WC_Product_Ticket расширяет WC_Product_Variable {
public function __construct( $product ) {
$this->product_type = 'ticket';
$this-> support[] = 'ajax_add_to_cart';
родитель::__construct( $product );
public function get_type() {
return 'ticket'; // чтобы вы могли использовать $product = wc_get_product(); $product->get_type()
add_filter('woocommerce_product_data_tabs','ticket_showtabs',10, 1);
function Ticket_showtabs($tabs) {
array_push($tabs['attribute']['class'], 'show_if_variable', 'show_if_ticket');
array_push($tabs['variations']['class'], 'show_if_ticket');
return $tabs;
}
function Producttype_custom_js() {
if ( 'product' != get_post_type() ) :
return;
endif;
?>
jQuery("body").bind("DOMNodeInserted", function() {
jQuery(this).find('.enable_variation').addClass('show_if_ticket').show();
});
Подробнее здесь: [url]https://stackoverflow.com/questions/62428475/custom-product-type-with-variation-variation-name-not-show-in-cart-checkout[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия