Функция для получения URL продукта со страницы сведений о заказе в woocommerce - PullRequest
0 голосов
/ 09 июля 2019

Я использую плагин woocommerce для бронирования и ищу решение для клиентов, которые уже забронировали временной интервал, чтобы иметь возможность добавить больше времени к их бронированию. Теоретически, было бы здорово, если бы они могли просто отредактировать свое бронирование и оплатить разницу, но из того, что я могу сказать, потребовалось бы большое количество пользовательского кода, который я не в состоянии сделать. Поэтому в качестве альтернативного решения, возможно, я смогу создать уникальную кнопку на странице сведений о заказе клиента по адресу /my-account/booking-details/OrderID/, где они смогут перейти к конкретному продукту на основе продукта этого заказа.

Я создал пользовательский хук для файла /order-details.php с именем woocommerce_extra_time_button и добавил приведенный ниже код в файл function.php моей темы, но я не могу получить URL продукта, как я думал.

add_action( 'woocommerce_extra_time_button', 'booking_extratime_button', 10, 3 );
function booking_extratime_button( $item_id, $item ){
    $url = get_permalink( $item['product_id'] ) ;

    return '<a href="'. $url .'">'. $item_id .'</a>'; 
}

1 Ответ

0 голосов
/ 10 июля 2019

Вы можете найти информацию о товаре из заказа текущего пользователя и использовать его в своем пользовательском крючке. например:

$order = wc_get_order( $order_id );
$items = $order->get_items()
foreach ( $items as $item ) {
    $product_name = $item->get_name();
    $product_id = $item->get_product_id();
    $product_variation_id = $item->get_variation_id();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...