woocommerce перенаправление на кассу не работает - PullRequest
0 голосов
/ 09 октября 2018

Я добавил продукт в корзину программно, а затем хочу перенаправить пользователя на страницу оформления заказа и пропустить страницу продукта и страницу корзины.Продукт успешно добавлен, но не переходит на страницу оформления заказа и отображает пустую страницу без ошибок.Это происходит только тогда, когда я очищаю свой кеш браузера.второй раз работает нормально.Пользователь заходит по пользовательской ссылке на страницу товара.Я хочу, чтобы, когда пользователь находился на странице продукта, продукт автоматически добавлялся, а пользователь перенаправлялся на страницу оформления заказа.Вот мой код

add_action('template_redirect','redirect_if_cart_loaded', 10, 2);
  function redirect_if_cart_loaded(){
    global $woocommerce;
  if(is_product() && sizeof( $woocommerce->cart->cart_contents ) == 0){

    echo $pooduct_id = get_the_ID();

    //check if product already in cart
    if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
     $woocommerce->cart->empty_cart();
}
    // if product not found, add it

        WC()->cart->add_to_cart( $pooduct_id );
        echo sizeof( WC()->cart->get_cart() ); // this gives 1. means product is added
    if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
     wp_redirect( WC()->cart->get_checkout_url() );
     exit;
}


    }
  }

1 Ответ

0 голосов
/ 09 октября 2018

Использовать

if ( !function_exists( 'wc_get_checkout_url' ) ) { 
    require_once '/includes/wc-core-functions.php'; 
} 

$result = wc_get_checkout_url(); 

использовать wc_get_checkout_url вместо get_checkout_url, так как get_checkout_url устарела

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...