Как переопределить шаблон l oop и показать количество рядом с кнопками добавления в корзину для определенной категории c или нескольких продуктов - PullRequest
0 голосов
/ 07 марта 2020

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

/**
 * Override loop template and show quantities next to add to cart buttons
 */
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
    if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually()) {
        $html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
        $html .= woocommerce_quantity_input( array(), $product, false );
        $html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>';
        $html .= '</form>';
    }
    return $html;
}

Ответы [ 2 ]

0 голосов
/ 08 марта 2020

Это код, который я ввел в плагин Snipets, и он не дает никаких результатов. Я что-то упустил? функция amount_inputs_for_woocommerce_loop_add_to_cart_link ($ html, $ product) {if ($ product && $ product-> is_type ('simple') && $ product-> is_purchasable () && $ product-> is_in_stock () &&! $ product-> is_sold_ividual ()) {// использовать слаг вашей категории Выберите кратные с помощью || is_product_category ('your-slug') if (is_product_category ('table-lamp')) {$ html = 'add_to_cart_url ()). '"class =" cart "method =" post "enctype =" multipart / form-data ">'; $ html. = woocommerce_quantity_input (array (), $ product, false); $ html. = '' . esc_ html ($ product-> add_to_cart_text ()). ''; $ html. = '';}} return $ html;}

0 голосов
/ 07 марта 2020

Я думаю, это то, что вы искали, основываясь на вопросе, который я прочитал. Все, что я сделал, это добавил, если (is_product_category('slug')) и get_stock_quantity() функции.

add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
    if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually()) {
        // use your category slug Choose multiples by using || is_product_category('your-slug')
        if (is_product_category('YOUR-SLUG-HERE')){ 
            $html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
            $html .= woocommerce_quantity_input( array(), $product, false );
            $html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>';
            // Wasn't sure if you wanted to show the quantity - but this is how
            $html .= '<span id="stockQuantity">'.$product->get_stock_quantity().'</span>';
            $html .= '</form>';
        }
    }
    return $html;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...