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

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

HIT

12.06.2016

5186

5

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

Для того чтобы массово отредактировать товары 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 '<input type="text" class="this_price" data-id="' . $post->ID .'" value="' . get_post_meta( $post->ID, '_price', true ) . '" /><p></p>';
 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 );

wp_enqueue_script('jquery');
wp_enqueue_script('ajaxpostmeta', get_stylesheet_directory_uri() . '/ajax-post-meta.js', array('jquery'));

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('<span style="color:#0FB10F">Сохранено</span>');
			}
		});
	});
});

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

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

При поиске поля Yoast метаописание ничего не находит, нужно у любого товара заполнить это поле и по нему (ID) сделать поиск. Тогда это поле найдется.

Тэги: , ,

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Процесс заказа WC

Процесс заказа WC

Все что связано с процессом непосредственно заказа. Особенно после того как пользователь нажимает кнопку Оформить заказ. Редирект после оформления заказа После оформления стандартного заказа woocommerce происходит редирект на шаблон успешного Читать далее »

slick — функционал карусели

slick — функционал карусели

slick — комплексное решение по созданию функционала карусели, в различных ее проявлениях. Демо и типовые варианты, и исходники можно посмотреть/скачать здесь. Отсекаем лишнее В базовой комплектации у slick присутствует несколько Читать далее »

Upgrade WC

Upgrade WC

Очередная серия улучшений (upgrade) плагина WC. Буду добавлять по мере изучения новые решения. Поиск по SKU (артикулу) Из коробки WC не ищет по артикулам (SKU). Но достаточно установить плагин Search Читать далее »

/

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

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

  1. Андрей

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

    1. Alexandr
      Alexandr

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

      1. Георгий

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

        1. Alexandr
          Alexandr

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

          1. Георгий

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

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