Я знаю, что первый вопрос будет "зачем". Затем, что в дочерней теме без доступа к родительской баг, который выводит в каталог цену со скидкой для простых товаров, а для вариативных нет.
Методом экспериментов нашли, что если временно сделатб вариативный товар простым, поставить обычную и скидочную цену во вкладке general, сохранить, обратно вернуть на вариативный, то все работает.
И клиенты просят сделать эту вкладку видимой в вариативном товаре, чтобы не переключаться на простой.
На самом деле вкладка эта есть и для вариативных товаров, просто она скрытая стилями и классами, ее просто нужно открыть для вариативных товаров.
Приоритет тут "как быстрее", а не "как по фэншую".
Что уже перепробовал
function art_added_tabs( array $tabs ): array {
$tabs['general'] = [
'label' => 'General',
'target' => 'general_product_data',
'class' => [ 'show_if_variable show_if_simple' ],
'priority' => 5, //
];
return $tabs;
}
add_filter( 'woocommerce_product_data_tabs', 'art_added_tabs', 10, 1 );
и так
add_filter('woocommerce_product_data_tabs', function($tabs) {
$tabs['general'] = [
'label' => __('General', 'txtdomain'),
'target' => 'general_product_data',
'class' => ['show_if_variable show_if_simple'],
'priority' => 25
];
return $tabs;
});
и так
add_filter('woocommerce_product_data_tabs', 'misha_product_data_tabs' );
function misha_product_data_tabs( $tabs ){
$tabs['general']['class'][] = 'show_if_variable show_if_simple';
return $tabs;
}
и так
add_action( 'admin_footer', 'show_hide_general_tab' );
function show_hide_general_tab() {
?>
<script type="text/javascript">
function showHideGeneralTab() {
jQuery('li.general_options.general_tab').show();
jQuery('li.general_options.general_tab').attr('style','display:block!important');
jQuery('li.general_options.general_tab').removeClass('hide_if_grouped');
}
// runs the script when the page loads
showHideGeneralTab();
</script>
<?php }
Где ошибаюсь? Ну, кроме самой кустарной идеи делать открытый таб.