• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Массовое изменение цены

Image CMS
#1
Как в Woocommerce можно изменить/установить цену на группу однородных товаров, принадлежащих одной категории?
 

D&B

Администратор
Команда форума
Местный
#10
По ссылке выше плагин выводит товары в таблице по категориям
 

kimad

Опытный
Местный
#12
У меня не получилось обычным способом, не видит файлы локализации.
Но выход есть, правьте файл template.php и будет вам счастье.
 
Последнее редактирование:

OniX

Форумчанин
#14
Перевел :)
Добавил код в файл woocommerce-prices.php
Код:
function true_load_plugin_textdomain() {
    load_plugin_textdomain( 'woocommerce_prices', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); 
}
add_action( 'plugins_loaded', 'true_load_plugin_textdomain' );
Файлы локализации соответственно woocommerce_prices-ru_RU.po и .mo
 

OniX

Форумчанин
#15
Появилась необходимость изменять наличие товара так же в таблице. Одновременно с изменением цен это будет наиболее удобно. Решил дополнить плагин https://wordpress.org/plugins/woocommerce-prices/
Поменял пару файлов, в итоге добился вывода артикула и наличия в таблице товаров.
Но при сохранении и артикул и наличие присваивается товару пустым.

Кто подскажет что я упустил?

Эта же тема на странице плагина https://wordpress.org/support/topic/add-sku-and-stock?replies=1

Мои изменения файлов:
woocommerce-prices.php
Код:
$posts = get_posts($args);
// Build grid data
$data = array();
$url = plugins_url('images/delete.png', __FILE__);
foreach ($posts as $post) {
$sku = get_post_meta($post->ID, '_sku', true);
$stock = get_post_meta($post->ID, '_stock', true);

// Get prices
$regular_price = get_post_meta($post->ID, '_regular_price', true);
if ('' != $regular_price) {
$regular_price = wc_format_localized_price($regular_price);
}
......
Код:
// Create row object
$product = new stdClass();
$product->ID = $post->ID;
$product->sku = $sku;
$product->stock = $stock;
$product->title = $post->post_title;
....
Код:
$products = $_POST['products'];
// Update sale price and dates
foreach ($products as $product) {
$ID = $product['ID'];
$sku = $product['sku'];
$stock = $product['stock'];
$regular_price = wc_format_decimal($product['regular_price']);
$sale_price = wc_format_decimal($product['sale_price']);
$sale_from = strtotime($product['sale_from']);
$sale_to = strtotime($product['sale_to']);
// Update prices
update_post_meta($ID, '_sku', $sku);
update_post_meta($ID, '_stock', $stock);
update_post_meta($ID, '_regular_price', $regular_price);
update_post_meta($ID, '_sale_price', $sale_price);
....
script.js:
Код:
var gridColumns = [
checkboxSelector.getColumnDefinition(),
{id: 'sku', name: 'Арт.', field: 'sku', width: 60, editor: Slick.Editors.Text},
{id: 'stock', name: 'Кол-во', field: 'stock', width:60, editor: Slick.Editors.Text},
{id: 'title', name: 'Товар', field: 'title', width: 290},
{id: 'regular_price', name: 'Цена', field: 'regular_price', editor: Slick.Editors.Text, width: 60},
{id: 'sale_price', name: 'Цена распр.', field: 'sale_price', editor: Slick.Editors.Text, width: 100},
{id: 'sale_from', name: 'Распр. с', field: 'sale_from', editor: customDateEditor, width: 100},
{id: 'sale_to', name: 'Распр. до', field: 'sale_to', editor: customDateEditor, width: 100}
];
....
 

OniX

Форумчанин
#17
Зачем только woocommerce хранит наличие в базе дробным числом, кто знает? типа 1.000000

Чтобы в таблице выводилось нормальное наличие без запятой, перевожу число в целое intval()
При сохранении в базу уже прописывается целое число.

Вроде все работает корректно потом с наличием, но смущает момент нужны ли все таки для woocommerce эти нули после запятой)))

Или сделать при сохранении добавление запятой и нулей?)
 

JAH

Новичок
#19
WooCommerce Pricesне работает с вариативными товарами. Есть бесплатный плагин для редактирования таких товаров? (магазин обуви с выбором размеров)
 
Последнее редактирование модератором:
Сверху Снизу