/ Плагины / Массовое редактирование свойств товаров

Массовое редактирование свойств товаров

HIT

12.06.2016

13530

11

Быстрое изменение товаров

Для того чтобы массово отредактировать товары woocommerce нужно установить плагин Woocommerce advanced bulk edit. В репозитории плагинов WordPress его нет, он платный. Если поискать на просторах интернета — можно найти и бесплатно.

Плагин интуитивно понятен и прост в настройке и использовании.

Работа с плагином Woocommerce advanced bulk edit

1. Первым делом выбираем какие поля нужно отображать в таблице массового редактирования. Синяя кнопка Show/Hide Fields внизу слева.

2. Делаем выборку товаров. Сверху вводим данные категория (можно несколько), производитель (произвольная таксономия), цена (>), метки и т.д. После того как выбрали нажать кнопку Get Products.

При выборе категорий, если зажать CNTR то можно выбирать сразу несколько категорий. А еще можно ввести название нужной категории и она выведется.

3. Если из выбранных товаров нам нужно сделать более точную выборку — кнопка Selection Manager. Там в необходимом поле вводим значение по которому нужно выделить строки. Например нужно выделить все вариативные товары, вводим в поле тип товара — variable, в выпадающем списке contains (содержит), и нажимаем ОК. Все необходимые товары выделятся галкой.

4. Массовое добавление/изменение параметров. После того как мы выделили необходимые строки, жмем Bulk Edit, и там заполняем соответствующие поля для массового заполнения.

После всех манипуляций жмем кнопку Save Changes.

Данным плагином можно создавать копии товаров — кнопка Dublicate. Вот только пока не пойму, для чего это может пригодится?!

Массовое добавление сопутствующих товаров

Если у нас на сайте много товаров, то «по быстрому» наполнить сопутствующие товары можно через плагин Advanced bulk edit.
Для этого делаем все как описано выше. При этом включаем поле Cross-Sells. Делаем выборку по определенной категории, т.к. в рамках одной категории можно делать одинаковые сопутствующие товары. При заполнении указываем через запятую ID сопутствующих товаров (644, 1042, 1024, 1587, 1319). И таким образом заполняем сопутку для каждой категории.

Для удобства можно сделать так: заполняем в каждой категории один товар классическим способом, а после в плагине Advanced bulk edit дублируем значение на все остальные товары.

И не забываем после всех действий — надо нажать кнопку Save Changes!

Массовое добавление миниатюр

Для того чтобы добавить миниатюру для нескольких (многих/всех) товаров. Нужно чтоб данное поле было включено + выбрать галками все товары для добавления. Нажать на пустою клетку миниатюры у любого товара. !Включить галку Apply action to all selected products (Применить для всех выбранных), нажать ссылку Set product image и выбрать необходимое изображение. Таким же образом можно массово удалять или менять миниатюры.

Изменения миниатюр сохраняется сразу, без нажатия кнопки Save Changes.

Быстрое изменение цен

Чтобы была возможность быстро менять цены товаров не входя в каждую карточку, нужно прописать следующую функцию (работает на ajax!):

function true_add_post_columns($my_columns){
     $slider = array( 'price' => 'Цена' );
     $my_columns = array_slice( $my_columns, 0, 5, true ) + $slider + array_slice( $my_columns, 5, NULL, true );
     return $my_columns;
 }
 function true_fill_post_columns( $column ) {
     global $post;
     switch ( $column ) {
         case 'price':
         echo '
';
         break;
     }
 }
 add_filter( 'manage_edit-product_columns', 'true_add_post_columns', 10, 1 ); // manage_edit-{тип поста}_columns
 add_action( 'manage_posts_custom_column', 'true_fill_post_columns', 10, 1 );
 function admin_scripts_basic() {  
     wp_enqueue_script('jquery');
     wp_enqueue_script('ajaxpostmeta', get_stylesheet_directory_uri() . '/ajax-post-meta.js', array('jquery'));
 }  
 add_action( 'admin_enqueue_scripts', 'admin_scripts_basic' );
 function updatePrice_callback(){ 
     update_post_meta($_POST['product_id'], '_price', esc_attr($_POST['price_val']));
     die();
 }
 if( is_admin() ) {
     add_action('wp_ajax_updatePrice', 'updatePrice_callback');
     // wp_ajax_nopriv_ не нужен, так как мы работаем в админке (а в админку не попадают незареганные пользователи)
}

Содержимое подключенного скрипта ajax-post-meta.js

jQuery(function($){
     $('.this_price').blur(function(){
         this_price = $(this);
         $.ajax({
             type:'POST',
             url:ajaxurl,
             data:'action=updatePrice&price_val=' + this_price.val() + '&product_id=' + this_price.attr('data-id'),
             beforeSend:function(xhr){
                 this_price.attr('readonly','readonly').next().html('Сохраняю…');
             },
             success:function(results){
                 this_price.removeAttr('readonly').next().html('Сохранено');
             }
         });
     });
 });

Поиск и вывод произвольных полей

Чтобы массово редактировать произвольные поля их необходимо найти. Для этого переходим в интерфейс Find Custom Fields (снизу под таблицей товаров). Вводим ID товара, у которого это поле точно не пусто. Появится список потенциальных полей выбираем нужный и снизу нажимаем Save Selected and Close. Произвольные поля включаются /отключаются не из интерфейса Column Settings (Show/Hide Fields) как все остальные поля, а из Custom Fields. Там же можно и создать дополнительное поле.

При поиске поля Yoast метаописание ничего не находит, нужно у любого товара заполнить это поле и по нему (ID) сделать поиск. Тогда это поле найдется.
[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Шаблон вывода категорий woocommerce

Шаблон вывода категорий woocommerce

Зафиксировать шаблон (код) вывода категорий Woocommerce (я его назвал product-cat-list.php). Обычно я вывожу этот шаблон на стандартной странице /shop/ Шаблон вывода категорий Пересчет товаров во всех подкатегориях В шаблоне выше Читать далее »

Иерархия по бренду

Иерархия по бренду

В woocommerce существует иерархия товаров по категории (product_cat), но не всегда этого достаточно. Создадим в woocommerce дополнительную иерархию по бренду. Сортировка по бренду Первым делом создаем атрибут товара Бренд и Читать далее »

WooCommerce and 1C:Enterprise

WooCommerce and 1C:Enterprise

Разбираем на элементы плагин WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange. Плагин дает функционал обмена данными между сайтом и программой 1С: Предприятие. Некоторые моменты синхронизации сайта с 1С описаны в статье Интеграция Читать далее »

Добавить комментарий

11 комментариев

  1. Андрей

    Подскажите как вывести в быстром редактировании цен вариативные цены (У меня их 4-5)

    1. Alexandr

      Как это сделать пока не знаю. Но думаю это ОЧЕНЬ проблематично.

      1. Георгий

        Александр, здравствуйте.Я новичок в коде и прочем.Функцию я прописал в дочернюю тему в файл функций.пшпВ этой же папке создал файл ajax-post-meta.js и него вставил этот скрипт.Сохранил. Захожу в админку, в товары. Появилось окошко для редактирования цены. Но при вводе новой цены, ничего не меняется. 
        И ещё хотел спросить, можно ли сделать так же и с кол-вом на складе. Тоже прямое редактирование. 

        1. Alexandr

          Постараюсь в ближайшие дни проработать данный функционал с количеством товара. По поводу неработоспособности скрипта: скажите, какая у Вас версия WC?

          1. Георгий

            Всё со скриптом хорошо:)Спасибо. Думаю, что для товаров сам соображу.Есть такой момент. Если у товара забиты 2 цены — основная и со скидкой, то этим кодом не редактируется ни одна из них. Думаю, здесь нужно как-то иначе подходить к вопросу.Есть ещё одна интересная вещь, может Вы знаете. При редактировании заказа (а именно удаление или добавление товара в заказ на прямую из админки), не происходит учет склада. Т.е. если добавить товар в заказ — со склада позиция не уходит, а если удалить из заказа товар — то на склад она не добавляется. Так как работает с физ товарами и с доставкой курьером, оплатой по факту, То очень часто клиенты звонят с просьбой изменить заказ (добавить/убрать/заменить). Всё это плохо сказывается над учетом склада)Может быть у Вас есть идеи?

  2. Олег

    нигде не найду описание или пример как пакетно добавить атрибуты к товарам?Пример: в товаре есть атрибут бренда «производитель такой то», к этому атрибуту в карточке товара надо добавить еще правило «производитель такой то — столы» Те выглядеть должно так: Бренд: «производитель такой то». «производитель такой то — столы» .

    1. Alexandr

      Я не вполне понял, что Вы хотите реализовать. Вы пытаетесь реализовать иерархическую структуру метаполей?

  3. дмитрий

    здравствуйте, а как сделать вывод на примере Атрибута, вместо цены ?

    1. Alexandr

      Вы имеете в виду массовое изменение какого-либо атрибута у товаров?

  4. Elmurzaev

    Плагин не рабочий для обычного пользователя без знания PHP,CSS,HTML

    1. Alexandr

      Не спорю. Зачастую публикую интересные решения, не заботясь чтобы они работают сами по себе. Нужно вникать в PHP, CSS, HTML.

Массовое редактирование свойств товаров
Изменение конфигурации объекта
Рекомендации для васИзменение конфигурации объектаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.