Используйте функцию 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/

Author: Josef Rosel, 2015-11-09

2 answers

Если вы уже запустили продукт, например, с помощью

$product = new WC_Product($id);

Затем вы можете обновить уровень запасов с помощью

$product->set_stock($stock);

Для получения дополнительной информации ознакомьтесь с документацией:

Https://docs .woothemes.com/wc-apidocs/class-WC_Product.html#_set_stock

 1
Author: akasapriya, 2015-11-09 16:58:22

Плагин Woocommerce должен быть загружен и запущен, прежде чем вы сможете вызывать какие-либо функции подобного рода.

Подключитесь к действию woocommerce_init и выполните там свой код.

add_action( 'woocommerce_init', 'callback');

 3
Author: Scriptonomy, 2020-05-02 00:40:52