Здравствуйте!
1) установите плагин ACF Pro для создания кастомных полей или вкладок.
2) установите плагин ACF Tables для добавления таблиц.
3) создайте необходимый набор кастомных полей, а именно:
Повторитель для возможности добавления нескольких таблиц. А в него вложите ACF Tables.
Результат:
Вид из админки
Вид из фронта (можно стилизовать по вкусу)
Код для functions.php
Добавляем новую вкладку в вукомерц
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
$tabs['params_tab'] = array(
'title' => __( 'Параметры', 'woocommerce' ),
'priority' => 60,
'callback' => 'params_tab'
);
return $tabs;
}
Выводим содержимое таблицы для этой вкладки (functions.php). В данном случае ACF TABLE вложен в ACF Repeater.
function params_tab() {
if( have_rows('wc_pr_params') ):
while ( have_rows('wc_pr_params') ) : the_row();
// начало таблицы
$table = get_sub_field( 'params_table' );
if ( $table ) {
echo '<table class="params_table" border="0">';
if ( $table['header'] ) {
echo '<thead>';
echo '<tr>';
foreach ( $table['header'] as $th ) {
echo '<th>';
echo $th['c'];
echo '</th>';
}
echo '</tr>';
echo '</thead>';
}
echo '<tbody>';
foreach ( $table['body'] as $tr ) {
echo '<tr>';
foreach ( $tr as $td ) {
echo '<td>';
echo $td['c'];
echo '</td>';
}
echo '</tr>';
}
echo '</tbody>';
echo '</table>'.'<br/>';
} // конец таблицы
endwhile;
else :
// no rows found
endif;
}
Вот, и все...