В вашем коде есть ошибки.
- Перед извлечением вариантов, пожалуйста, подтвердите, что продукт является переменным продуктом.
- Ваша функция обратного вызова предназначена для вкладки описания продукта.Таким образом, он разрушит содержимое по умолчанию на вкладке описания.
Вот обновленный код.
add_filter( 'woocommerce_product_tabs', 'woo_custom_description_tab', 98 );
function woo_custom_description_tab( $tabs ) {
$tabs['description']['callback'] = 'woo_custom_description_tab_content'; // Custom description callback
return $tabs;
}
function woo_custom_description_tab_content() {
global $product;
if ( $product->is_type( 'variable' ) ) { // Before fetching variables, confirm that it is a variable product.
$available_variations = $product->get_available_variations();
$variation_id=$available_variations[0]['variation_id']; // Variation ID for first variation
$variable_product1 = new WC_Product_Variation( $variation_id );
echo '<strong>Product Box Dimensions</strong>';
if($variable_product1 ->get_length() != ''){
echo '<div class="dimensions">Length: ' . $variable_product1 ->get_length() . ' ' . get_option( 'woocommerce_dimension_unit' );
}
if($variable_product1 ->get_width() != ''){
echo '<div class="dimensions">Width: ' . $variable_product1 ->get_width() . ' ' . get_option( 'woocommerce_dimension_unit' );
}
if($variable_product1 ->get_height() != ''){
echo '<div class="dimensions">Height: ' . $variable_product1 ->get_height() . ' ' . get_option( 'woocommerce_dimension_unit' );
}
}
}
Чтобы добавить новую пользовательскую вкладку, используйте приведенные ниже фрагменты и обновите код.
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// Adds the new tab
$tabs['test_tab'] = array(
'title' => __( 'New Product Tab', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
return $tabs;
}
function woo_new_product_tab_content() {
// The new tab content
echo '<h2>New Product Tab</h2>';
echo '<p>Here\'s your new product tab.</p>';
}
Дополнительные настройки на вкладках продуктов доступны на странице документации WooCommerce.
https://docs.woocommerce.com/document/editing-product-data-tabs/