Каковы некоторые способы получить идентификатор текущего заказа из функции обратного вызова, подключенного к фильтру WooCommerce, где обратный вызов не прошел идентификатор заказа по умолчанию?Неисправность доступа к идентификатору заказа WooCommerce в пределах фильтра
Пример крюка к WooCommerce фильтра, который отвечает этому критерию:
add_filter('woocommerce_get_downloadable_file_urls', array('fooClass', 'fooFighter'), 10, 4);
Этот крюк passess следующие переменные для обратного вызова:
- $ file_urls
- $ product_id
- $ variant_id
- $ item
Я изучил доступ к идентификатору заказа через $ woocommerce, определив его как глобальный. В этом случае (когда WooCommerce отправляет клиенту заполненную электронную почту), $ woocommerce не содержит объект WC_Order.
За дополнительной информацией, я пытаюсь использовать вышеупомянутый крюк для создания пользовательских ссылок для загрузки для определенных продуктов WooCommerce. Этот фильтр вызывается каждый раз, когда загружаемый продукт указан в заполненном электронном письме заказа и снова на странице завершения заказа). Чтобы создать пользовательскую ссылку, мне нужен order_id.