Как добавить пользовательский URL на кнопку «Перейти к оформлению заказа» для определенной категории продуктов [WooCommerce] - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь добавить пользовательский URL для кнопки «Перейти к оформлению заказа» для определенной категории продуктов.

Я успешно добавил пользовательский URL-адрес, используя следующий код, однако теперь я хочу показать другой URL-адрес в зависимости от продуктов в корзине.

add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout');

function dj_redirect_checkout($url) {
     global $woocommerce;
     if(is_cart()){
          $checkout_url = 'https://example.com';
     }
     else { 
     //other url or leave it blank.
     }
     return  $checkout_url; 
}

Например, у меня есть две категории (Торговая линия 1 и Торговая линия 2) на моем веб-сайте WooCommerce. Я хотел бы разместить другой URL на кнопке «Оформить заказ» для другой категории, если она есть в корзине.

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

Большое вам спасибо.

1 Ответ

0 голосов
/ 28 апреля 2018

Вы должны пройтись по элементам корзины и проверить, есть ли у какого-либо элемента одно из условий, на которое вы хотите перейти. Вы должны использовать слагов "Tradeline 1", "Tradeline 2", вероятно, это "tradeline-1".

Вот быстрый POC:

$cat_in_cart = false;

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

    $product = $cart_item['data'];

    if ( has_term( 'tradeline-1', 'product_cat', $product->get_id() ) ) {
        $cat_in_cart = true;
        break;
    }
}

if( $cat_in_cart == true ) // do stuff

Полезная ссылка: https://businessbloomer.com/woocommerce-check-product-category-cart/

ура!

...