TransWikia.com

Как сортировать товар по своему полю?

Stack Overflow на русском Asked by Anton Buketov on August 30, 2021

вижу полно примеров для добавлении сортировки. Но мне нужно добавить свою. но не могу понять некоторые вещи. например $sortby[‘stock_list_asc’] stock_list_asc- откуда берется или это свое название?

    $args['orderby'] = 'meta_value_num wp_posts.ID';
    $args['order'] = 'ASC';
    $args['meta_key'] = '_stock';

и эти поля, желательно рассказать о них, окуда берется $args[‘orderby’] и $args[‘meta_key’]. или направьте меня по ссылки на доки. мне нужно сделать по примеру но только на размер.

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'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

    if ( 'stock_list_asc' == $orderby_value ) {
        $args['orderby'] = 'meta_value_num wp_posts.ID';
        $args['order'] = 'ASC';
        $args['meta_key'] = '_stock';
    }
    elseif ( 'stock_list_desc' == $orderby_value ) {
        $args['orderby'] = 'meta_value_num wp_posts.ID';
        $args['order'] = 'DESC';
        $args['meta_key'] = '_stock';
    }

    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['stock_list_desc'] = 'Остаток: по убыванию';
    $sortby['stock_list_asc'] = 'Остаток: по возрастанию';
    return $sortby;
}

One Answer

Проблема была в нижних подчеркиваниях, заменил на дефис стало норм.заменил $sortby['stock_list_desc'] на $sortby['stock-list-desc'].

Correct answer by Anton Buketov on August 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP