Ответ 1
Надеюсь, я правильно понял проблему:
Если мы переопределили файл шаблона single-product/add-to-cart/grouped.php
, мы могли бы использовать, например:
if( $grouped_products )
usort( $grouped_products, 'wc_products_array_orderby_title' );
для сортировки сгруппированных продуктов по названию, а не по умолчанию для меню.
Мы также можем отменить регистрацию:
add_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
с пользовательским обратным вызовом.
В качестве последнего средства можно переопределить функцию woocommerce_grouped_add_to_cart()
, например. в плагине, чтобы изменить порядок меню.
Он определяется как:
if ( ! function_exists( 'woocommerce_grouped_add_to_cart' ) ) {
function woocommerce_grouped_add_to_cart() {
global $product;
$products = array_filter( array_map( 'wc_get_product', $product->get_children() ) );
if ( $products ) {
usort( $products, 'wc_products_array_orderby_menu_order' );
wc_get_template( 'single-product/add-to-cart/grouped.php', array(
'grouped_product' => $product,
'grouped_products' => $products,
'quantites_required' => false,
) );
}
}
}
где можно, например, вместо этого используйте wc_products_array_orderby_title
.