В Woocommerce я регистрирую собственный тип продукта (подарочную карту), который расширяет WC_PRODUCT_VARIABLE, а затем Я установил атрибуты, варианты и вкладки инвентаря, которые будут отображаться, когда тип продукта — подарочная карта.
После этого я скопировал шаблонvariable.php в Giftcard.php. Проблема в том, что я не получаю варианты, показанные во внешнем интерфейсе.
Он всегда говорит:
Это товара на данный момент нет в наличии и он недоступен.
Настройка типа товара:
Код: Выделить всё
add_filter('product_type_selector', 'knlShopCreateGiftcardProductType');
function knlShopCreateGiftcardProductType($types) {
$types['knl_shop_giftcard'] = __('Gift Card', 'knl-shop');
return $types;
}
add_action('init', 'knlShopGiftcardProductTypeClass');
function knlShopGiftcardProductTypeClass() {
require_once KNL_SHOP_INC . '/class-knlshop-wc-giftcard-prod-type.php';
}
add_filter('woocommerce_product_class', 'knlShopInitGiftcardProductTypeClass', 10, 2);
function knlShopInitGiftcardProductTypeClass( $classname, $product_type ) {
if ( $product_type == 'knl_shop_giftcard' ) {
$classname = 'KNL_SHOP_WC_GIFTCARD_PROD_TYPE';
}
return $classname;
}
add_action('admin_footer', 'knlShopGiftcardProductTypeDataTabs');
function knlShopGiftcardProductTypeDataTabs() {
if('product' != get_post_type()) :
return;
endif;
?>
jQuery(document).ready(function () {
jQuery('.enable_variation').addClass('show_if_knl_shop_giftcard').show();
jQuery('.inventory_options').addClass('show_if_knl_shop_giftcard').show();
jQuery('#inventory_product_data ._manage_stock_field').addClass('show_if_knl_shop_giftcard').show();
jQuery('#inventory_product_data ._sold_individually_field').parent().addClass('show_if_knl_shop_giftcard').show();
jQuery('#inventory_product_data ._sold_individually_field').addClass('show_if_knl_shop_giftcard').show();
});
Подробнее здесь: [url]https://stackoverflow.com/questions/62814241/woocommerce-custom-variable-product-type-out-of-stock-issue[/url]
Мобильная версия