Отключить ссылку на название товара для конкретного товара в корзине Woocommerce и заказах - PullRequest
3 голосов
/ 29 марта 2019

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

Я знаю, что это можно сделать со всеми элементами корзины.Но я не совсем уверен, как нацелиться на конкретный предмет.

1 Ответ

1 голос
/ 29 марта 2019

Обновлено: Добавлена ​​подключаемая функция для обработки мини-карт

Чтобы удалить ссылку с названием товара из корзины, оформления заказа и заказов, используйте следующее:

// Cart item link
add_filter( 'woocommerce_cart_item_name', 'conditionally_remove_link_from_cart_item_name', 10, 3 );
function conditionally_remove_link_from_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
    // HERE set your Free product ID
    $gift_product_id = 37;

    if( $gift_product_id == $cart_item['data']->get_id() ) {
        $item_name = $cart_item['data']->get_name();
    }
    return $item_name;
}

// Mini-cart item link
add_filter( 'woocommerce_cart_item_permalink', 'conditionally_remove_cart_item_permalink', 10, 3 );
function conditionally_remove_cart_item_permalink( $permalink, $cart_item, $cart_item_key ) {
    // HERE set your Free product ID
    $gift_product_id = 37;

    if( $gift_product_id == $cart_item['data']->get_id() ) {
        $permalink = '';
    }
    return $permalink;
}

// Order item link
add_filter( 'woocommerce_order_item_name', 'conditionally_remove_link_from_order_item_name', 10, 2 );
function custom_order_item_name( $item_name, $item ) {
    // HERE set your Free product ID
    $gift_product_id = 37;

    if( $gift_product_id == $item->get_product_id() ) {
        $item_name = $item->get_name();
    }
    return $item_name;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

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