Всем доброго времени суток! При создании магазина, столкнулся проблемой, решение которого не могу найти, но кое-какие сдвиги в работе уже есть))) Сейчас товары выводятся как на рисунке 1, а надо как на рисунке 2
Рис.1 Рис.2
Грунтование, оштукатуривание - это дополнительные поля в ACF. Для сортировки по этим полям, в файле functions.php использую этот код:
а вывод в файле content-product.php делаю этим кодом:
Понимаю, что надо как-то переделать цикл вывода товаров, но не знаю как это делать, знаний не хватает. Может кто-то уже сталкивался с этим вопросом?
Рис.1 Рис.2
Грунтование, оштукатуривание - это дополнительные поля в ACF. Для сортировки по этим полям, в файле functions.php использую этот код:
Код:
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'random_list' == $orderby_value ) {
$args['orderby'] = 'for_sorting';//поле по которому сортируем
$args['order'] = 'ASC';//по возрастанию (ASC) или убыванию (DESC)
$args['meta_key'] = 'for_sorting';//по конкретному совпадению ключа
}
return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['random_list'] = 'Сортировка по произвольному полю';
return $sortby;
}
Код:
<?php if($for_sorting=get_field("for_sorting")){echo $for_sorting;}?>
<a href="<?php echo get_the_permalink(); ?>" class="sort-table-a">
<table class="sort-table">
<tr>
<th>№</th>
<th>Продукт</th>
<th>Для чего используется</th>
<th>Кол-во слоев</th>
<th>Время высыхания</th>
<th>Цена за мин.<br>упаковку</th>
</tr>
<tr>
<td></td>
<td><?php echo woocommerce_get_product_thumbnail(); do_action( 'woocommerce_shop_loop_item_title' );?></td>
<td><?php if($why_use=get_field("why_use")){echo $why_use;}?></td>
<td><?php if($sum_layers=get_field("sum_layers")){echo $sum_layers;}?></td>
<td><?php if($time_drying=get_field("time_drying")){echo $time_drying;}?></td>
<td><?php do_action( 'woocommerce_after_shop_loop_item_title' ); ?></td>
</tr>
</table>
</a>