Добавить сортировку товаров по умолчанию в Woocommerce

Мне нужно изменить сортировку по умолчанию на другую сортировку. Я хочу, чтобы на моей / shop / page категориях и страницах с тегами продукты отображались по умолчанию последними измененными. Когда я редактирую продукт и меняю что-то внутри продукта, чтобы переместиться в первую строку.

Кто-нибудь может мне с этим помочь?

Наилучшие пожелания


person maldboy scatman    schedule 17.09.2016    source источник


Ответы (1)


WooCommerce - изменение порядка сортировки каталога по умолчанию. Аналогично сделайте для страницы магазина и т.д. крючками.

   /**
   * This code should be added to functions.php of your theme
    **/
   add_filter('woocommerce_default_catalog_orderby',    'custom_default_catalog_orderby');

   function custom_default_catalog_orderby() {
        return 'post_modified'; // Can also use title and price
   }

[or]
   add_filter('woocommerce_get_catalog_ordering_args',    'am_woocommerce_catalog_orderby');
    function am_woocommerce_catalog_orderby( $args ) {
       $args['orderby'] = 'last_modified';
       $args['order'] = 'desc'; 
       return $args;
    }

Ссылка: https://gist.github.com/mikejolley/1622323

Или ссылка: это можно сделать в панели администратора. но нужно добавить хуки в functions.php, как указано выше. Управляется в админке woocomerce. http://www.remicorson.com/woocommerce-sort-products-from-oldest-to-most-recent/

Попробуйте этот вариант, у меня он сработал. Это сработало для меня. Управляется в админке woocomerce. http://www.remicorson.com/woocommerce-sort-products-from-oldest-to-most-recent/. Добавьте следующее в файл текущей темы (functions.php).

    // Filters
    add_filter( 'woocommerce_get_catalog_ordering_args',     'custom_woocommerce_get_catalog_ordering_args' );
    add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
    add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

    // Apply custom args to main query
    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 ( 'oldest_to_recent' == $orderby_value ) {
            $args['orderby'] = 'post_modified';
            $args['order'] = 'DESC';
        }

        return $args;
    }

    /* Create new sorting method */
    function custom_woocommerce_catalog_orderby( $sortby ) {    
        $sortby['oldest_to_recent'] = 
         __( 'Based on Last modified to be displayed recent', 'woocommerce' );
        return $sortby;
    }

Перейдите в панель администратора http://localhost/wpppame/wp-admin/admin.php?page=wc-settings&tab=products§ion=display, а затем вы увидите добавленную новую опцию. Выберите его и нажмите «Сохранить». Затем перейдите в интерфейс localhost / wpppame / shop, вы увидите изменения на странице.

person Senthil    schedule 17.09.2016
comment
Боже, ты гений. Спасибо тебе, очень, очень, очень, чувак. Я ценю это. - person maldboy scatman; 17.09.2016