2015-01-05 1 views
2

Мне нужно скрыть свою кнопку «Добавить в корзину» при условии, что цена = 0,00. Если цена больше 0,00, я бы хотел, чтобы кнопка снова появилась.Скрыть WooCommerce Добавить в корзину кнопка, когда цена равна нулю

Однако я также использую расширение списка пожеланий WooTheme, и мне нужно добавить кнопку «добавить в список пожеланий». Я также хотел бы изменить текст из Free в «Продукт подписки», когда значение равно 0.00.

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

В настоящее время, если цена установлена ​​на 0.00, я получаю текст вверху страницы одного продукта, говорящий «бесплатно», и кнопка добавления в корзину остается такой же, как кнопка добавления в список пожеланий. Если я удалю цену вместе, кнопки также исчезнут, поэтому мне нужно «спрятать» кнопку, чтобы сохранить список пожеланий.

Я попытался следующий код, вставленный в мой файл functions.php

<?php 
/* 
    * Swop the 'Free!' price notice and hide the cart with 'POA' in WooCommerce 
*/ 
    add_filter('woocommerce_variable_free_price_html', 'hide_free_price_notice'); 
    add_filter('woocommerce_free_price_html',   'hide_free_price_notice'); 
    add_filter('woocommerce_variation_free_price_html', 'hide_free_price_notice'); 

function hide_free_price_notice($price) { 
    remove_action ('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10); 
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
    return 'POA'; 
} 
?> 

Однако, хотя это действительно работает в том, что он изменил «Free» текст «POA», а также спрятали «Добавить в Корзина кнопка "Добавить в лист пожеланий" также исчезла.

Если я изменил значение до 0,01, все снова появилось, так что почти там ... Мне просто нужна кнопка «Список пожеланий», чтобы остаться.

Любые помощь или указатели будут очень признательны. Много спасибо ...

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

ответ

0

Пожалуйста, добавьте нижеприведенный код в свою активную тему functions.php и проверьте его.

function wpcustom_is_purchasable($purchasable, $product){ 
    if($product->get_price() == 0) 
     $purchasable = false; 
    return $purchasable; 
} 
add_filter('woocommerce_is_purchasable', 'wpcustom_is_purchasable', 10, 2); 
Смежные вопросы