Я уже использовал на практике WooCommerce api на определенной странице. Разобрался с тем как должен выглядеть путь запрос. В случае если страница имеет такой путь https://site.com/page, то мне достаточно сделать такой путь запроса /../products, но как мне быть в том случае, если я не могу быть уверенным в том, какая страница будет открыта? Например: в случае, когда код находится в файле function.php
У меня есть функция, которая должна быть прикреплена к хуку, но я не знаю как внутри этой функции указать правильный путь запроса.
function test_callback($order_id, $old_status, $new_status) {
if( $new_status == "processing" ) {
var_dump($woocommerce->get("/orders/$order_id")); //неправильный путь
}
}
add_action( 'woocommerce_order_status_changed', 'test_callback', 10, 3);
Быть может у того, что я хочу сделать есть более элегантный способ, в любом случае хотел бы узнать как это можно было бы реализовать.
Вы рассуждаете неправильными категориями. Какая страница? При чём тут вообще страница? Хук woocommerce_order_status_changed срабатывает при смене статуса заказа. Это может произойти при оплате, при этом вообще никакая страница не открыта! Шлюз банка шлёт HTTP POST-запрос на сайт, этот запрос обрабатывается WooCommerce, и срабатывает хук. Никакого взаимодействия с браузером клиента не происходит. Но хук в functions.php сработает, потому что этот файл загружается всегда.
Чтобы получить доступ к заказу в вашем коде, следует использовать функцию wc_get_order():
function test_callback( $order_id, $old_status, $new_status ) {
if ( 'processing' === $new_status ) {
$order = wc_get_order( $order_id );
// Вы можете использовать var_dump() если смена статуса вызвана вашими действиями
// или вывести $order в лог-файл, если статус изменяется работой фоновых запросов (в бэкенде)
}
}
add_action( 'woocommerce_order_status_changed', 'test_callback', 10, 3 );
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники