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

Как в functions.php обратиться к конкретному товару или группе товаров?

doox911

Новичок
Задача.
Практически все товары имеют цены в долларах. А есть группа товаров у которой цена (изначально) в рублях. Мне необходимо раз в сутки менять им цену по текущему курсу.
Я хотел бы через цикл у каждого товара получить тек. цену помножить её на курс и сохранить обратно. Как мне это сделать?
 

doox911

Новичок
Получил доступ к товару. А как получить доступ ко товарам по категории?
PHP:
$WC_Produts = new WC_Product(2862);
$c = $WC_Produts->get_name();
 

doox911

Новичок
Помощи пока не поспело. Вот куда я продвинулся.
PHP:
/*
* 1. Получаем массив ID товара (object_id) по категории 106
* 2. В цикле:
* 2.1. Получаем ссылку на товар(продукт)
* 2.2. Получаем статическую цену товара ($static_price) - это кастомное поле
* 2.3. Получаем новую цену в соответствии с текущим курсом ($new_price)
* 2.4. Записываем новую цену в товар. (в долларах)
*/
global $wpdb;

    $wpdb->query("SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id = 106");
  
    foreach ($wpdb->last_result as $key) {
        $WC_Produts = new WC_Product( $key->object_id );
        $static_price = get_post_meta($key->object_id, 'static_price_eleps');
        $name = $WC_Produts->get_name();
        $new_price = round($static_price[0]/57);
        $WC_Produts->set_price($new_price);
    }
Всё бы ок, но цена в товаре не меняется. Почему?
 

doox911

Новичок
Проблема получается вот в чём. В объект $WC_Produts (мой) всё занеслось. А как теперь его в базу засунуть? Я бы и в обход API Woocommerce сделал, но я не могу найти в базе цену товара.
 
Сверху Снизу