答案 0 :(得分:4)
我假设您已将礼品卡添加到产品类型选择器中。但是,我在这里添加它是为了完整性,因为你在第二个函数中使用相同的名称。
woocommerce_product_data_tabs
您可以通过过滤add_filter( 'woocommerce_product_data_tabs', 'so_42835590_product_data_tabs' );
function so_42835590_product_data_tabs( $tabs ) {
$product_type = 'gift-card'; // must match array key in previous snippet
// Add an additional class to an existing tab, ex: Variations.
$tabs[ 'variations' ][ 'class' ][] = 'show_if_' . $product_type;
return $tabs;
}
来添加自己的自定义标签,但也可以向现有标签添加类。类是元数据javascript用于决定在更改产品类型时要显示的内容和隐藏的内容。
jQuery( function ( $ ) {
// Variable type options are valid for variable workshop.
$( '.show_if_variable:not(.hide_if_gift-card)' ).addClass( 'show_if_gift-card' );
// Trigger change
$( 'select#product-type' ).change();
// Show variable type options when new attribute is added.
$( document.body ).on( 'woocommerce_added_attribute', function(e) {
$( '#product_attributes .show_if_variable:not(.hide_if_gift-card)' ).addClass( 'show_if_gift-card' );
var $attributes = $( '#product_attributes' ).find( '.woocommerce_attribute' );
if ( 'gift-card' == $( 'select#product-type' ).val() ) {
$attributes.find( '.enable_variation' ).show();
}
});
});
修改您需要添加一些javascript来控制现有属性中“已启用变体”标签的可见性,以及添加属性时的可见性。这应该可以解决问题:
{{1}}