Используйте функцию WooCommerce в другом плагине Wordpress
В настоящее время я пытаюсь создать плагин, который обновляет количество запасов моих продуктов WooCommerce. Поэтому я хотел получить доступ к функции wc_update_product_stock, но вместо этого была возвращена ошибка.
Код в php-файле плагина:
Wc_update_product_stock($идентификатор,$акции);
Ошибка в журнале:
Неустранимая ошибка: Вызов неопределенной функции wc_update_product_stock()
Я где-то читал, что обычный вызов всех туалетов функции должны быть возможны, если активирован плагин WooCommerce.
Обновление:
Я попробовал ваш код внутри функции, как предлагала скриптономия
function updateWCProduct($product) { $wcproduct = new WC_Product($product->get_id()); var_dump($wcproduct); $wcproduct->set_stock($product->get_stock(),'set'); $wcproduct->set_price($product->get_price()); }
Но я получаю пустой объект продукта обратно
Объект(WC_Product)#9573 (5) {["идентификатор"]=> int(9834) ["сообщение"]=>
NULL ["product_type"]=>NULL ["класс отгрузки":защищен]=>
строка(0) "" ["идентификатор класса доставки":защищен]=> int(0) }
Обновление: Чтобы получить товар по артикулу, используйте код здесь: https://www.skyverge.com/blog/find-product-sku-woocommerce/
2 answers
Если вы уже запустили продукт, например, с помощью
$product = new WC_Product($id);
Затем вы можете обновить уровень запасов с помощью
$product->set_stock($stock);
Для получения дополнительной информации ознакомьтесь с документацией:
Https://docs .woothemes.com/wc-apidocs/class-WC_Product.html#_set_stock
Плагин Woocommerce должен быть загружен и запущен, прежде чем вы сможете вызывать какие-либо функции подобного рода.
Подключитесь к действию woocommerce_init
и выполните там свой код.
add_action( 'woocommerce_init', 'callback');