Я запрограммировал эти функции в Vibe для сортировки дополнительных продаж, перекрестных продаж и сопутствующих товаров в WooCommerce по настраиваемому полю _ggcom_stage_date.
Он работает, как и ожидалось, в классической теме WordPress, такой как, например, Understrap, дополнительные продажи сортируются по дате на странице продукта.
Однако мне не удается заставить его работать в теме двадцать пять с блоком коллекции продуктов.
Я протестировал различные фильтры, такие как woocommerce_rest_product_query, но ни один из них не дает ожидаемого результата, и продукты продолжают сортироваться по параметру, выбранному в блоке конструктора сайтов wp.
Есть ли способ переопределить эту функцию?
Я запрограммировал эти функции в Vibe для сортировки дополнительных продаж, перекрестных продаж и сопутствующих товаров в WooCommerce по настраиваемому полю _ggcom_stage_date. [code]/** * Tri unifié des produits liés, upsells et cross-sells * Compatible thèmes classiques et WooCommerce Blocks (thème 2025) */
// ----- Fonction commune de tri d'un tableau WC_Product ou d'IDs ----- function ggcom_sort_products_by_stage_date( $products_or_ids ) { $meta_key = '_ggcom_stage_date'; $map = [];
if ( empty( $products_or_ids ) ) { return $products_or_ids; }
// ----- Thème 2025 / WooCommerce Blocks : tri REST API ----- add_filter( 'woocommerce_rest_product_query', function( $args, $request ) { // Vérifie que ce sont des produits inclus dans le bloc product-collection if ( isset( $request['include'] ) && ! empty( $request['include'] ) ) { $args['meta_key'] = '_ggcom_stage_date'; $args['orderby'] = 'meta_value_num'; $args['order'] = 'DESC'; // Debug optionnel // error_log( '[ggcom] REST API block tri appliqué sur IDs : ' . implode( ', ', $request['include'] ) ); } return $args; }, 10, 2 ); [/code] Он работает, как и ожидалось, в классической теме WordPress, такой как, например, Understrap, дополнительные продажи сортируются по дате на странице продукта. Однако мне не удается заставить его работать в теме двадцать пять с блоком коллекции продуктов. Я протестировал различные фильтры, такие как woocommerce_rest_product_query, но ни один из них не дает ожидаемого результата, и продукты продолжают сортироваться по параметру, выбранному в блоке конструктора сайтов wp. Есть ли способ переопределить эту функцию?