Пользовательский тип продукта с вариацией, название вариации не отображается в корзине/оформлении заказа.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Пользовательский тип продукта с вариацией, название вариации не отображается в корзине/оформлении заказа.

Сообщение 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();
});



Подробнее здесь: https://stackoverflow.com/questions/624 ... t-checkout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»