Поддержка WooCommerce Фильтр заказов в админке

  • Решено smacyas

    (@smacyas)



    Здравствуйте!

    Сайт на основe WordPress + Woocommerce администрируют несколько менеджеров. Задача — отфильтровать заказы для каждого менеджера (условно, 2).

    Мысль пришла следующая: при получении каждого заказа заходим и выставляем значение в произвольном поле, например поле «Менеджер», значение 1 или 2.

    Далее в админке нужно сделать фильтр по этому значению, чтобы оно было наравне с «Все» ,»На удержании», «Обрабатываются», т.е. добавились «Менеджер 1» и «Менеджер 2″.

    Как можно это реализовать?
    Зарегистрировать статус я могу:
    function register_automatic_order_statuses() {
    register_post_status( ‘wc-automatiс’, array(
    ‘label’ => _x( ‘Менеджер 1’, ‘Order status’ ),
    ‘public’ => true,
    ‘exclude_from_search’ => false,
    ‘show_in_admin_all_list’ => true,
    ‘show_in_admin_status_list’ => true,
    ‘label_count’ => _n_noop( ‘Менеджер 1 <span class=»count»>(%s)</span>’, ‘Менеджер 1 <span class=»count»>(%s)</span>’, ‘textdomain’ )
    ) );
    }
    add_action( ‘init’, ‘register_automatic_order_statuses’ );

    А как сопоставить значение произвольного поля со статусом? И корректно ли делать через статус, ведь я не хочу, чтобы он был именно статусом как это есть в woocommerce?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Пришла мысль сделать сделать поле «Manager» и в значении писать Менеджер_1 или Менеджер_2, тогда
    function woocommerce_shop_order_search_order_total( $search_fields ) {
    $search_fields[] = ‘Manager’;

    return $search_fields;
    }
    add_filter( ‘woocommerce_shop_order_search_fields’, ‘woocommerce_shop_order_search_order_total’ );

    И в поиске вбивать Менеджер_1 или Менеджер_2, тогда он фильтрует.

    Но! Это ручная работа (в каждый заказ внести поле) и потом писать в поиске.
    Можно хотя бы добавить кнопку или ссылку с именами в панели Заказы?

    Тему закрываю, написал плагин, все работает отлично.

Просмотр 2 ответов — с 1 по 2 (всего 2)