Получить заказанные данные о продукте (ID, количество) в файле functions.php темы - WooCommerce - PullRequest
0 голосов
/ 19 мая 2018

Я использую WordPress & WooCommerce для обработки своих заказов в качестве решения для глобальных платежей.

Я перенаправляю своих клиентов после оплаты на пользовательскую страницу благодарности ... Я перенаправляю их, добавляя этот код вфайл «functions.php» моей текущей активной темы:

add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );
function woo_custom_redirect_after_purchase() {
    global $wp;
    if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
        wp_redirect( 'http://example.com/success.php' );
        exit;
    }
}

Я пытаюсь добавить «URL-адрес продукта» в URL.

, поэтому мой код теперь такой:

add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );
function woo_custom_redirect_after_purchase() {
    global $wp;
    global $product;
    if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
        $id = $product->get_id();
        wp_redirect( 'http://example.com/success.php?pid='.$id );
        exit;
    }
}

Великолепно перенаправляет после успешного выполнения заказа, но значение $id пусто.

Любая помощь будет оценена.

Спасибо!

1 Ответ

0 голосов
/ 19 мая 2018

Попробуйте этот код;

add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );

function woo_custom_redirect_after_purchase() {
    global $wp;
    global $product;
    if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
        $order_id = isset( $wp->query_vars['order-received'] ) ? intval( $wp->query_vars['order-received'] ) : 0;
        $order = new WC_Order( $order_id );
        $items = $order->get_items();
        foreach ( $items as $item ) {
            $product_id = $item['product_id'];
        }

        wp_redirect( 'http://example.com/success.php?pid='.$product_id );
        exit;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...