Измените цвет кнопки «Добавить в корзину» и отключите его для товаров со склада в Woocommerce - PullRequest
0 голосов
/ 09 мая 2018

В woocommerce я изменил перенаправление кнопки «Добавить в корзину», чтобы добавить ее на страницу оформления заказа.

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

Как я могу изменить цвет кнопки с помощью php и отключить ее для события нажатия кнопки

Должен ли я использовать что-то вроде:

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_stock', 10 );
function woocommerce_template_loop_stock() {
global $product;
if ( ! $product->managing_stock() && ! $product->is_in_stock() )
    echo '<p class="stock out-of-stock">Out of Stock</p>';
}

Но я немного запутался

1 Ответ

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

Попробуйте следующий код:

// For Woocommerce version 3 and above only
add_filter( 'woocommerce_loop_add_to_cart_link', 'filter_loop_add_to_cart_link', 20, 3 );
function filter_loop_add_to_cart_link( $button, $product, $args = array() ) {
    if( $product->is_in_stock() ) return $button;

    // HERE set your button text (when product is not on stock)
    $button_text = __('Not available', 'woocommerce');

    // HERE set your button STYLING (when product is not on stock)
    $color = "#777";      // Button text color
    $background = "#aaa"; // Button background color


    // Changing and disbling the button when products are not in stock
    $style = 'color:'.$color.';background-color:'.$background.';cursor:not-allowed;';
    return sprintf( '<a class="button disabled" style="%s">%s</a>', $style, $button_text );
}

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

enter image description here


...